The Reason Renewables Can't Power Modern Civilization: They Were Never Meant To - <AUTHOR> https://www.forbes.com/sites/mitsubishiheavyindustries/2019/05/22/the-future-of-sustainability-for-the-industries-that-power-online-shopping-explained/ <comment><USER2> You linked the wrong article. The one your title describes is here:

[https://www.forbes.com/sites/michaelshellenberger/2019/05/06...](https://www.forbes.com/sites/michaelshellenberger/2019/05/06/the- reason-renewables-cant-power-modern-civilization-is-because-they-were-never- meant-to)

</comment><comment><USER3> Umm... if you actually run the numbers than solar is cheap compared to gas and coal. Solar would take up half the area fossil fuel companies take up, and since it is solar it can be put in places no one lives like Death Valley. So the argument to not use renewable energy is actually... we're too lazy.</comment>


Through-Wall Human Pose Estimation Using Radio Signals - <AUTHOR> http://rfpose.csail.mit.edu/ <comment><AUTHOR> Note that the more prominent link to the paper is 404'ing, but below there is a proper link.

[http://rfpose.csail.mit.edu/files/rfpose_cvpr_zhao.pdf](http://rfpose.csail.mit.edu/files/rfpose_cvpr_zhao.pdf)</comment>


Ask HN: How to properly model, reason about, and solve problems? - <AUTHOR> I've been on a self learning mission the past few weeks, using a variety of sources (mostly obtained from HN) to teach myself computer science and math related topics.
During this journey I've noticed that I lack skill when it comes to modeling and solving problems (for instance the Exercises in SICP) I've been able to solve problems either through initially knowing the techniques needed to solve the problem or through brute force, and when I fail at those two methods I resort to looking up the solution.
I know that this method is not the proper way to go about solving problems and will not be effective when faced with a problem that I or my colleges (or someone on the internet) has not seen before.
I dropped out of college and never really had a course in my 3 1/2 years that drilled a rigorous mathematical and logical process for understanding and solving problems. I've been able to get by in my career thus far but would like to work on more interesting problems in the future. This self-learning period has been humbling in realizing that I lack the tools needed to make this goal happen.
What tips, tools, techniques, books, papers, lectures, etc have you used that help you model and understanding problems with enough clarity to solve them? I am looking for processes that can be used across a wide range of subjects to better model problems and develop mathematical maturity. <comment><USER2> I suggest doing lots of problems. Here are a few excellent resources that concentrate on teaching "problem solving" in math from the ground up:

\+ Brilliant -- [https://brilliant.org](https://brilliant.org). Fun problem- oriented introductions to specific math areas. Their "explorations" are designed to help you think about problems in new ways. Brilliant also gives you a weekly problem set of beginning-intermediate-hard problems. You can even practice writing proofs by writing solutions to new problems.

\+ The "Art of Problem Solving" books. Advanced high school, but has really great insights and lets you practice common math patterns you'll see later.

\+ The "Book of Proof" book. Gentle introduction to proofs. An introduction to fundamental higher-level math.

\+ Project Euler -- [https://projecteuler.net/](https://projecteuler.net/). For getting better at programming and math together.

</comment><comment> a-saleh First, most problems you encounter, even those 'more interesting' won't probably require much of an algorithm-creation chops.

It does usually require more of an ability to evaluate many of of those possible solutions that you were looking up. A.f.a.i.k this was one of the reasons why current iteration of SICP is taught in Python and not in Scheme.

But if you encounter these kinds of problems more regularly, what helped me was to build over time a library of more general problem solving strategies.

i.e. is this a graph search? Can I use dynamic algorithm? Is there some recurring pattern that would suggest recursive algorithm? Can I pre-compute something that would help here?

I acquired my (even though somewhat limited) library by studying the problem areas that interested me. I.e. graph theory, distributed systems, complexity theory, databases/logic programs, security. On the other hand, I have learned most of this while in college.

</comment><comment><USER3> There are a bunch of known algorithmic tools and you basically pattern match those to the problem in question. However, that may not lead to the best algorithm for a problem and at that point you might need to "solve" it de novo. For example, take an open problem such as solving 3-SAT or k-SAT where k > 2.

One nice result in computer science is that problems have a defined complexity so you can translate algorithms from one problem to another. This is why some people view everything as a graph... or a tree is a special case of a graph..

</comment><comment><USER4> "How to solve it" by George Polya ([https://en.wikipedia.org/wiki/How_to_Solve_It](https://en.wikipedia.org/wiki/How_to_Solve_It)) probably will be a good read for you.

It focuses on cases where you don't know how to attack a problem. Rightfully so, because (to a mathematician) problems where you know how to solve them aren't problems.</comment>


Didn't make it to YC? Check this one from TechCrunch. - <AUTHOR> http://www.techcrunch.com/2007/04/16/techcrunch20-conference-site-live/ <comment><USER2> The fact that startups don't have to pay to demo is a significant improvement over similar events. That pay-to-demo mentality is left over from the overfunded startups of the Bubble.

<comment><USER3> It looks like they want you to actually provide something there first that has not been live before. Their application, though, includes stats on your current website, so I guess their plan is to focus on some new feature to be presented there for the first time. They also want you to explain how their conference is causing your company to accelerate development, etc.

I don't see any downside in applying or getting the media attention of getting selected. One option: get selected, get the media attention, then forgo any radical high trajectory bubble bursting funding proposals, and then use that momentum to get into YC.

</comment></comment><comment><USER4> This event is quite different from YC. It's for VC / Preferred Stock funding, not the true seed / Common Stock funding provided by YC. As you can see, the main sponsor is Sequoia.

<comment><USER2> Argh, this whole common/preferred stock thing is really a side issue. It's not the distinctive feature of seed funding or a significant benefit of YC.

<comment><USER4> Paul - re common/preferred issue - as an entrepreneur, it's a huge deal to me and my co-founders.

Here's a relevant excerpt from Venturebeat:

"...VentureBeat thus believes Y Combinator's approach offers an advantage to entrepreneurs because they are not held hostage by the often onerous privileged rights that preferred shareholders often demand, such as minimum payouts upon acquisition or dissolution, rights to receive compensation before common, or anti-dilution rights. Common stock aligns the interests of Y Combinator with the interests of the founders and employees, who also hold common."

<comment><USER2> Preferred stock is only as bad as the terms that come with it. And that's a continuum. If you have preferred stock with no particularly onerous special rights, as for example we bought from Justin.TV, then it's no worse for the founders than common. Better, in fact, because you can claim a lower value for common shares when you give them to new hires.</comment></comment></comment></comment>


Elon Musk: There's a 'one in billions' chance our reality is not a simulation - <AUTHOR> http://mashable.com/2016/06/02/elon-musk-simulated-reality/ <comment><USER2> [https://news.ycombinator.com/item?id=11822302](https://news.ycombinator.com/item?id=11822302)</comment>


Calculating Tupper's Self-Referential Formula with SQL - <AUTHOR> https://blog.jooq.org/2018/02/05/calculating-tuppers-self-referential-formula-with-sql/ <comment><USER2> Where does k actually lie? Is it just some magic number the giy used?

<comment><USER3> It's not really a magic number, it's an encoding of the graphic that represents the formula.

This thing always irks me because 'the formula' is just the graphing part. Finding k for an arbitrary graphic (that can be displayed with the formula) always seemed more fun/interesting to me.

<comment><USER4> Then you may be interested in Jakub Trávník's self referential formula: [http://jtra.cz/stuff/essays/math-self- reference/index.html](http://jtra.cz/stuff/essays/math-self- reference/index.html)

<comment><USER3> Excellent, thanks!

</comment></comment></comment></comment><comment><USER5> That's crazy...

...crazy awesome.</comment>


Harvard urges faculty to make their research open access - <AUTHOR> http://www.theguardian.com/science/2012/apr/24/harvard-university-journal-publishers-prices

<comment><USER2> Michael Eisen is a genetics professor at Berkeley, and started PLos (a group of open access journals). He's very eloquent on the subject, and it's great to hear that Harvard is supporting open access so publicly - as he says,

'In most scientists' minds, a publication in an elite journal like Nature or Science is as good as gold – a ticket to a job, grants and tenure.'[0]

So knowing that publishing in PLoS (as opposed to Nature) might not exclude you from a position at Harvard is really great for the future of open access publishing.

[0] [http://www.michaeleisen.org/blog/?p=1346](http://www.michaeleisen.org/blog/?p=1346)</comment>


The startup marketing checklist - <AUTHOR> http://devmarketing.xyz/startup-marketing-checklist/ <comment><AUTHOR> Most startups struggle with getting enough traffic so they can get enough leads. Usually what they're looking for is quick ways to get more visitors.

However, I think they're missing something deeper. Before you get more traffic you need to have answers to these questions:

1\. Do you have a well-defined target market? Who are they?

2\. Is your target market reachable online? Where do they congregate?

3\. Do you know their primary struggle? What is it?

4\. Do you know how your product helps them make progress? How does it help?

5\. Do you have product/market fit? What proofs do you have? Examples: high NPS score, large number of pre-orders)

<comment><USER2> Hi, just went through your comment. Referring point 2 , i have a question, I would like to know how i could generate traffic via social media?</comment></comment>


Show HN: BuzzHN – modern alternative of `Show HN` - <AUTHOR> http://www.buzzhn.com/

<comment><USER2> On mobile the wide permanent sidebar makes it very difficult to use. Android L/Chrome if that's not immediately reproducible.

<comment><AUTHOR> I know that :) RWD is not done yet

</comment></comment><comment><USER3> The tags are a little too iCentric for me as a Windows and Android user, but I really like the idea and the design. Nice.

<comment><AUTHOR> thanks for the hint Chris, I'm glad you like it :)

</comment></comment><comment><USER4> Are the products going to be rated in the future?

<comment><AUTHOR> there is a lot of space for improvements, and the rating system is one of them</comment></comment>


Production-Ready Application Rollouts Using Deployment Objects in Kubernetes 1.2 - <AUTHOR> http://blog.kubernetes.io/2016/04/using-deployment-objects-with.html <comment><AUTHOR> We've moved all the logic from the rolling update on the client side to the server, as well as building in rollback and versioning. AMA!

Disclosure: I work at Google on Kubernetes

<comment><USER2> Is this disclaimer a requirement for all Google Kube contributors? I've seen a lot of it lately and don't recall seeing anything like it before.

<comment><AUTHOR> Nope - I just don't want to in anyway mislead anyone!</comment></comment></comment>


Chinese Architecture, Old and New - <AUTHOR> http://www.theatlantic.com/infocus/2012/11/chinese-architecture-old-and-new/100409/

<comment><USER2> As a side note, I love the slideshow UI. The keyboard navigation (j/k or left/right) brings each picture flush against the top of the screen. I hate when I need to manually scroll down to bring the picture into full view and hide the navigation boilerplate, especially when a site uses full page refreshes instead of ajax. Unlike more interactive slideshows, this page still works normally without javascript or if the user just prefers scrolling.

</comment><comment><USER3> I've been living in China for the past 4 months and plan on staying until May. It really is two different worlds. Having traveled through the more modern cities (Shanghai and Beijing for example) and contrasting those to Hangzhou that I'm currently in, it truly is marvelous to see the progress and more importantly the WHY to all this. The Chinese culture and gives one a fresh outlook on life. I would recommend anyone and everyone to take a trip here, it is really inexpensive and very much worth it.

<comment><USER4> Is it necessary to speak the language to get by for a couple weeks?

<comment><USER5> It really depends where you go. If you're in the big cities (Beijing, Shanghai, Hangzhou, Hefei, etc.), you'll be fine without Chinese. If you go into more rural areas, Chinese would certainly help, but you'll certainly still be able to buy food, live in hotels, and ask for directions (look for the younger crowd; they've had mandatory English classes).

<comment><USER6> You need some Chinese to get around in Beijing. Shanghai is much better, however. First time I've heard of Hefei referred to as a tier 1 city!

<comment><USER4> Thanks for the info, both of you. Much appreciated!

</comment></comment></comment></comment></comment><comment><USER7> #12 "An emblem decorates the pavement" ?? Excuse me, that's Roman Imperial emblem. I hope the journalist just skipping that for the sake of copy, rather than ignorance.

<comment><USER8> Since the picture is described as "inside a building designed to look like a Roman Colosseum", I think the viewer can probably figure that out.

</comment></comment><comment><USER9> So many contradictions. So many sorrows. So much progress. So many regrets. So much ignorance. So many hopes. So many disappointments. So much glamour. So much denial. So many inconsistencies. So China...

</comment><comment><USER10> I just visited Shenzhen for the first time and was quite overwhelmed by the scale of construction that's going on in China.

This timelapse video does a good job of capturing that feeling: <https://vimeo.com/53043267>

</comment><comment><USER11> I wonder how many Chinese can afford to live in any of these new buildings.

Some context: <https://www.youtube.com/watch?v=pbDeS_mXMnM>

</comment><comment><USER12> Unfortunately, many "historic" buildings in China are not. They are not reconstructed but destroyed and cheaply rebuild in concrete and then painted. Be it historic pagodas, city walls, monuments, temples, etc. Quickly build it so that it looks old and then make money from tourism. Its a shame.

[Lived in China six years, traveled the country for another six months]

</comment><comment><USER13> I dont like all the new fancy-schmancy stuff. These cities are going to end up looking like any other modern/western city anywhere. No character left. Is anyone looking out for historically significant buildings ?

</comment><comment><USER14> Love the library, and how it doesn't use/have electricity.

</comment><comment><USER4> Wow, picture 9 looks straight out of an Orwell story.

<comment><USER15> You mean the Road to Wigan Pier?

<http://en.wikipedia.org/wiki/The_Road_to_Wigan_Pier></comment></comment>


Google bans porn on Google Glass - <AUTHOR> http://www.cnn.com/2013/06/03/tech/mobile/google-adult-glass/index.html?hpt=hp_t2

<comment><USER2> I would love to hear Cindy Gallop of <https://makelovenotporn.tv/> weigh in on this!

</comment><comment><USER3> How do you ban something on an open platform? Ah...

</comment><comment><USER4> See, this I have a problem with.

</comment><comment><USER5> "We don't allow Glassware content that contains nudity"

So no VR assistance for surgeons, reference material for medical students, art museum guides, medical journals, ....</comment>


Quick Reference: Linux Commands - <AUTHOR> http://www.techrepublic.com/downloads/quick-reference-linux-commands/172482 <comment><USER2> Is not viewable by anyone without a paid Tech Republic account... thanks.</comment>


Sleep quality and stress level matter more than languages or practices - <AUTHOR> https://twitter.com/hillelogram/status/1119709859979714560 <comment><USER2> I think this is true for the most part, although poor development practices can eventually catch up to you (I once worked in a place with 5000 programmers working on the same thing and whose productivity averaged 1 line of code per day -- it can happen.. :-P ).

However, while many people will rightly complain about stress in the workplace and long hours coding, I'd like to also point out that stress and lack of sleep can come in a variety of packages. I've seen good programmers destroy their careers because they thought there was no problem staying up drinking all night on workdays. I've experienced (unfortunately) being in a bad relationship and arguing with my SO all night until it was time to go to work.

Stress and sleepless nights will cost you in your career. It might cost you a _lot_. It's not sexy to be the person that avoids drama in their life and manages their sleep schedule well, but it can have pretty significant rewards. If you think that in SV the difference between a top and middling performer can easily be in the $100K per year area, it puts a pretty hefty price tag on "Oh, I'm pretty sure I can catch up on my sleep on the weekend".

From the "hard to talk about, but I wish I knew this 20-30 years ago" department :-(

<comment><USER3> > being in a bad relationship and arguing with my SO all night until it was > time to go to work

If that ever happened to me I'd seriously consider my life choices in the romantic department.

<comment><USER4> ...you've never had an all night argument with your partner?

<comment><USER3> No, never.

I've been with my current SO for over 10 years (and married) and had a couple long term relationships before that.

We've had arguments like any other couple, but never an all night argument.

</comment></comment></comment></comment><comment><USER5> The big picture is trivially true -- if you don't sleep, you die. Where's your favorite language, now? Similarly if you don't eat -- yet few people would make a rant about "food quality matters more than languages".

There's still a lot of nuance. What studies there are don't negate the existence of variability either. Well, then what's the point of bringing up the subject? Taken broadly sleep is important as life itself, but then it has no place in an earnest discussion around improving productivity. Taken narrowly, it's very context sensitive, so it's again rather useless in discussing improving your own or even your team's productivity unless you're already in the weeds of knowing individuals' detailed backgrounds.

There's a fun fact johnc's comment in that thread points out. We can all agree if we want that if people aren't getting their 8 hours (or some number close by), that has to happen first, and we can ignore whatever nuance/variability/context objections one might have. But with 8 hours, there are still over 100 other hours in the week. 80 if we're just talking M-F. What are you going to do to fill those more productively? If switching languages lets you do something in half the time as otherwise, why wouldn't you switch, and rather than just taking half the day off, _continue working_ and do twice as much as you would in the other language for the day?

Is the point that you shouldn't unnecessarily waste your waking life for some company? Fine, but you shouldn't do that even if you're getting 10 hours every night and are only asked to work 30 hours a week if those 30 hours are truly a waste. On the other hand, you might be in a situation where 80+ hours this week (hopefully not forced to be compressed to M-F or intrude on your sleep requirements) spent on work is the most non-wasteful thing you can think to be doing with your life at this time. Circumstances are different.

<comment><USER6> Given that your big picture conveniently ignores stress it is not "trivially true" after all. :-P

<comment><USER5> I intentionally left out talking about stress, but I think it's also trivially true at the big picture level, too much stress can kill you. X is true, Y is true, X and Y is also true... But stress is a much more vague and hazy notion than sleep when you get down to specifics, we have few rules of action to agree on even in principle like "get your ~8 hours of sleep (even if that involves napping) before you look at other potential boosters" and we have contradictory notions about certain types or levels of stress actually being better for you in the long run whereas chronic sleep deprivation seems to have no long term benefits.

</comment></comment></comment><comment><USER7> The book 'Why we Sleep' has a lot of the detail on how sleep (or the lack of) impacts you.

<comment><USER8> Surprisingly, the Joe Rogan interview covers most of the book and is pretty funny: [https://www.youtube.com/watch?v=pwaWilO_Pig](https://www.youtube.com/watch?v=pwaWilO_Pig)

If you have a long commute, I can recommend it.

<comment><USER9> Great episode! The part about memory centers sort of reminds me of GANs. Discriminate during day, generate during night.

</comment></comment></comment><comment><USER10> Definitely strikes a chard in me - I've completely stopped coding when I'm tired as it has often led to disasters. I've just learned to live this limitation but its not been too hard.

<comment><USER11> I read here recently, "For a time, I worked 12 hour days. I'd spend the first 4 hours of the day fixing mistakes I made in the last 4 hours the previous evening."

</comment></comment><comment><USER12> I've been wondering about this WRT the 969 policy at companies in China.

Why did they not immediately see a drop in productivity when implemented?

Is China's software industry making itself less competitive by not letting its workers sleep enough?

<comment><USER13> The sibling replies neglect to mention that midday naps are very common in China (across all age groups), with lunchtimes typically being 2 hours long.

It's really not that different to Google having nap pods.

<comment><USER14> Google has nap pods? Wow...that remindsof mats they used to have for us in preschool. Sheesh.

<comment><USER15> Stigmatizing naps is so boneheaded, petty and backwards that I'm surprised to see anyone on this site so casually write something like this. Literally read anything on the subject, please?

[https://www.sleepfoundation.org/articles/napping](https://www.sleepfoundation.org/articles/napping)

<comment><USER14> Read deeper into the post, Im not stigmatizing naps. Im big on sleep. Love it so much & think it's fundamental to physical and mental health. Its so important that if you need it at a place of employment, maybe that place of employment needs to do a better job of load-balancing.

</comment></comment></comment></comment></comment><comment><USER16> This is why I recommend every developer read Deep Work by Cal Newport and Why We Sleep by Matthew Walker.

Deep Work in particular made a bigger impact on my programming than any thing else in ~25 years, including languages frameworks and tools.

What I'm saying is, good sleep and the principles from Deep Work made more of an impact on my productivity than switching from Java Spring, to Ruby on Rails, or to functional JS and Serverless. Put that in your pipe and smoke it.

<comment><USER17> Just bought Deep Work because you mentioned it; Newport's So Good They Can't Ignore You was refreshing.

</comment></comment><comment><USER18> Yes, this comes up often. I think it is difficult to be disciplined about it. To catch yourself when you are not well rested and act accordingly.

</comment><comment><USER19> If you are going to write that much, please use a better platform than Twitter.

<comment><USER20> > Twitter is my stream of consciousness thoughts, blog > ([http://hillelwayne.com](http://hillelwayne.com) ) is my heavily edited and > revised thoughts

[https://twitter.com/hillelogram/status/1119765732127072256](https://twitter.com/hillelogram/status/1119765732127072256)

<comment><USER21> That explanation actually kind of makes it worse.

</comment></comment></comment><comment><USER22> My favorite talk on Sleep by William Dement [https://www.youtube.com/watch?v=8hAw1z8GdE8](https://www.youtube.com/watch?v=8hAw1z8GdE8) September 23, 2008 Google Tech Talk

Very entertaining.

</comment><comment><USER23> Of course. This is the least controversial opinion out there and it borders on fact. Anyone who claims otherwise is an idiot or an exploiter. There's simply no substitute for sleep in any discipline or in life in general. It simply doesn't exist as far as we know. People who short themselves on sleep are self harming, often out of stupidity. I've been there as have many because it's part of our stupid work culture, but once one wises up, there's no going back. Sleep quality and stress levels matter more than anything. Period.

</comment><comment><USER24> Additionally, a low stress non-crunch environment is better at retaining talent, which is significant on the short term but even more so on the long term (in a whole host of ways). Keeping people around longer means more retention of experience, less disruption to the corporate culture over time, more predictability in execution on projects, a more stable work environment (and less stress) for everyone else, etc, etc.

</comment><comment><USER25> Duh.

Then again, this is not repeated enough! Moreover, I have the idea that companies don't know, they should.

</comment><comment><USER26> I had chronic insomnia for several years. But then I've stopped coding right before sleeping at least 1-3 hours in advance and now I can finally sleep. Who would've thought.

<comment><USER27> I am just finding that out now. I read something that it could be due to the blue light from LED screens, TVs, phones, etc. I hope to end my insomnia too.

<comment><USER28> Blue light before bed has been clearly shown to affect circadian rhythms and sleep. Some references here to get you started:

[https://justgetflux.com/research.html](https://justgetflux.com/research.html)

</comment></comment></comment><comment><USER29> I've felt this for a while, been actively monitoring my sleep for over a year and try to hit at average 7.5hr of sleep nightly. (This is what I found works best for me).

I've found it helps with my mood, and my stress and also productivity. I've also found that it is possible to have the same effect of not enough sleep, by getting too much sleep.

<comment><USER30> Do you find any variance in the 7.5 hour 'sweet spot' with the seasons (assuming you have them) or with your activities?

<comment><USER29> Not much, no.

</comment></comment></comment><comment><USER31> I sleep well since i use Clojure

<comment><USER32> This is gold.

</comment></comment><comment><USER33> Related: determination matters more than intelligence

Maybe tools don't matter much either, but... essays on twitter?

</comment><comment><USER34> What's with this trend of multi-tweet posts being seen as noteworthy articles on HN?

<comment><USER29> Probably because the quality of the content mattered more than the platform it was posted it.

</comment></comment><comment><USER35> Sure, but languages and practices contribute significantly to sleep quality and stress level.

</comment><comment><USER36> Yeah, man, but I'm doing well. I'm awake at 0730 San Francisco time after sleeping more than 8 hrs before, I eat a balanced breakfast, time my lunch and dinner appropriately, deadlift a respectable-though-not-special 350 lbs, run a 6 min mile, make about half a mil a year, have friends I love dearly and who love me, and everyone I know closely has a good life.

Some dumbass downing Red Bull to type `console.log("got here")` for the fiftieth time in the last 36 hrs without sleep isn't on my level.

All these things aren't things for Mr. Red Bull. They're for me trying to close the gap in productivity to Carmack.

Or rather that's all true for my friends. I can only deadlift 345.</comment>


PayPal 'credits' US man $92 quadrillion in error - <AUTHOR> http://www.bbc.co.uk/news/world-us-canada-23352230

<comment><USER2> There are now at least seven submissions of this story:

[https://www.hnsearch.com/search#request/submissions&q=quadri...](https://www.hnsearch.com/search#request/submissions&q=quadrillion&start=0)</comment>


Nvidia Broadcast App - <AUTHOR> https://www.nvidia.com/en-us/geforce/news/nvidia-broadcast-app/ <comment><USER2> Overall I'm very impressed and plan to incorporate the Background Blur into my lecture videos (since I had to create a 'decorative' background for them anyway).

So everyone can see how it looks with a makeshift lighting setup (kitchen lights, overhead lights, and a 3 bulb lamp).

Background Removal: [https://i.imgur.com/e3y4kwX.png](https://i.imgur.com/e3y4kwX.png)

Background Replacement: [https://i.imgur.com/AajgJIf.png](https://i.imgur.com/AajgJIf.png)

Background Blur - Low Setting: [https://i.imgur.com/CeXmneX.png](https://i.imgur.com/CeXmneX.png)

Background Blur - Max Setting: [https://i.imgur.com/OoJ76ow.png](https://i.imgur.com/OoJ76ow.png)

Frame Tracking - [https://i.imgur.com/wQ8IOq1.mp4](https://i.imgur.com/wQ8IOq1.mp4)

Full Album: [https://imgur.com/a/RWECpd4](https://imgur.com/a/RWECpd4)

EDIT: As a followup to a question my friend asked - memory wise it is sitting idly at 105MB; running OBS it went to 670MB.

EDIT2: The blur effect holds even if you move to the background as well without sharpening the objects in the background. It did look a little "off" but that's mostly because a sharply rendered body interacting with a blurred environment looks off.

<comment><USER3> Nice smile :)

<comment><USER2> Gotta look good for all those movie producers that just found their next big star :D

</comment></comment></comment><comment><USER4> > For those of you that want to try out the AI noise removal capabilities but > aren't ready to upgrade to an RTX GPU yet, we have also patched RTX Voice > with support for NVIDIA GeForce GTX GPUs. Though, of course, your mileage > may vary on older cards.

That's a strange way to say "yeah we admit that we were just blocking older GPUs in the installer and you guys noticed so decided to stop."

<comment><USER5> Well it kinds looks like your car manufacturer stating in the manual that your car cannot tow.

You know it just a matter of installing one, but they basically don't want to spend time supporting something they have no interest in.

<comment><USER6> In the case of cars often a car can tow, but it shouldn't. I know someone who burned out a transmission because the trailer was overweight (in this case it was a truck that the manual said max tow weight was 1/4th what he was towing). I haven't seen it myself, but my EMT friends have had to respond to cases where someone was towing

I work for John Deere, it is well known that ECU code can change the horse power of our tractors. What isn't as well known is the tractors with higher horsepower ECUs have more warranty work, and that is a case where we engineer the system for the change (there is more than an ECU changed in getting higher horsepower if you buy it that way from us because we don't want warranty claims)

If you know what the real limits of your system are you will sometimes discover the stated limits are less than the real limits. However other times the stated limits are there for a reason.

<comment><USER7> Give people the facts. Let them decide but make sure you're protected from supporting idiots.

Better than coming out of it looking like the evil dudes.

EDIT being most well known outside your sector for suing your customers is generally a bad look

<comment><USER8> It sadly doesn't work like that. Idiots are idiots. "You sold me this truck, and it doesn't work anymore.

\- Well, we stated that you shouldn't do what you did...

\- It doeesnnn't work !!!"

Ensue time, energy and money lost to defend yourself against idiots who don't listen.

Edit : I don't know anything about trucks or John Deere. But you can see this type of "artificial" limitation with simple unlock pretty often. For example the cpu overclocking community : the manufacturer doesn't officialy support overclocking, but they give hints and some advice if you want to do it anyway. You fry your cpu, you're on your own.

</comment></comment></comment></comment></comment><comment><USER9> You should see what Nvidia does for CAD software...They used to force you to use Quadro cards only (which is maybe 2X-3X price of their consumer version) even though the GT/X series worked just as good. People figured out how to change the registry setting to make it work until they finally caved and supported it "somewhat" (where if it breaks it breaks and this was maybe 5 years after the registry hacking). Nvidia has always been notorious for making people use the "good stuff" (expensive) even though it's not really required.

<comment><USER10> > Nvidia has always been notorious for making people use the "good stuff" > (expensive) even though it's not really required.

Do you think that these Quadro features materialized out of thin air, or did they require engineering effort and additional silicon area?

If the latter, is it reasonable for Nvidia to expect to be compensated for that additional effort (which is born by, say, 2 orders of magnitude lower volume) ?

Additionally, would you be happier if Nvidia simply removed those features so that no home users would complain anymore (at the expense of Quadro users who would lose the ability to use real features.)

And, using my standard to-go-to argument, are you similarly upset that software companies are charging different amounts of money for different tiers of a software product (e.g. Microsoft Office Home vs Professional), even though these different tiers are only enabled by a license key? If not, why?

<comment><USER9> I personally think there's a pretty big difference between being compensated for their work and using software to limit where the hardware can be used (and Im not saying Nvidia is the only company that does this, like Tektronix who is even worse for it). This differs than a purely software product like you mentioned between home vs professional usage. When I buy a GPU, I expect to be able to use it as a....GPU regardless of the software it connects to. Sure, I get it, there is some additional software work such as CUDA and driver stuff depending on the package but at a basis with something like DirectX, this should be more or less software agnostic. Unfortunately our market is heading towards that direction (e.g Tesla and John Deere) where even "unlocking" the features via hardware means is a violation of DMCA.

<comment><USER11> It's not that simple though. It's cheaper to engineer one chip that does everything then selectively disable certain features for lower end SKUs.

Going to the effort of making different hardware for the lower end SKUs that completely lacks these features would end up raising prices for consumers because it makes engineering and manufacturing more costly.

The other alternative is they just don't offer lower price SKUs and make everyone buy top-end parts.

</comment></comment></comment></comment><comment><AUTHOR> Due to having to keep an eye on my kids during virtual school, I'm stuck in the family room which is incredibly noisy with toys and furniture. I've played with the software for about 5 minutes now and think the virtual background functionality works incredibly well: [https://imgur.com/a/0ByEYF9](https://imgur.com/a/0ByEYF9)

<comment><USER12> Especially given that you have a bright background light, also that it cut through the space between your headphones. Pretty neat, and better than zoom's silhouette guess.

<comment><AUTHOR> Yeah, no issues with the shades drawn on the window, it's impressive.

I hadn't noticed the space between my head and headphones prior to this comment, great catch. I'll definitely be using it during work meetings now, I'm sold.

</comment></comment></comment><comment><USER13> The Broadcast app offers three AI-powered features:

Noise Removal: remove background noise from your microphone feed – ...

Virtual Background: remove the background of your webcam feed and replace it with game footage, a replacement image, or even a subtle blur.

Auto Frame: zooms in on you and uses AI to track your head movements, keeping you at the center of the action even as you shift from side to side...

These features can be used beyond game broadcasting as well — from video conferencing at home with Zoom, to gaming with friends on Discord.

</comment><comment><USER14> I did a quick demo here: [https://www.youtube.com/watch?v=aoa0aB1AXtI](https://www.youtube.com/watch?v=aoa0aB1AXtI)

Hardware: Sony A6000 Mirrorless camera; 2x Elgato Key Lights for illumination; GameCapture HD60 S; RTX 2080 Super; OBS for the video feed and recording.

<comment><USER15> I have Sony A6000 with Elgato too. Do you mind showing your setup esp. camera placement? I'm curious your eyes can look at the audience while in front of PC.

<comment><USER16> By looking at the camera while recording, watch the first few seconds again.

</comment></comment></comment><comment><USER17> For anyone not using an nVidia graphics card, I highly recommend [https://krisp.ai/](https://krisp.ai/) for the voice cleanup part. Works wonders.

<comment><USER18> Do you know of any other companies offering a product like krisp? They seem to be one of the only players.

<comment><USER19> BabbleLabs is the closest but they got acquired by Cisco.

Google Meets also has similar tech [https://support.google.com/meet/answer/9919960?hl=en](https://support.google.com/meet/answer/9919960?hl=en)

Audatic was really cool but they got acquired by a hearing aid company.

Whisper.ai has very similar processing but they are also focused on hearing aids.

</comment></comment></comment><comment><USER20> Interesting, I wonder if on a meta-note we're seeing an evolution of Nvidia's strategy. For a while, it was hardware, then it was leveraging that hardware to create developer-facing APIs (CUDA being a driver for many ppl in ML to buy Nvidia in particular), and now it seems they may be trying out leveraging that compute to create specialized, end-user facing services.

Are there any more examples of this?

I wonder if Nvidia will try to move upmarket to own the best UI powered services (e.g. if you want a camera with a virtual background, it has to be nvidia or something similar)

<comment><USER21> I can't seem to find a single page that lists all of Nvidia's current vertical software stacks, but they are legion. Aerial(5G), Metropolis(smart cities), Drive(self driving), RAPIDS(big data?), Clara(genomics), IndeX(visualization), Isaac(robotics)... etc.. etc...

They basically have to move towards vertical software stacks requiring their HW. GPUs are becoming commoditized, with integrated GPUs from AMD and Intel becoming good enough to play modern games now. 8k(haha) may keep things interesting for a while, but eventually AMD/Intel will compete there as well.

I don't know about user-facing apps though. So far, most of what they've released(i.e. Gaugan) seem more like demos.

<comment><USER22> They are becoming the Apple of B2B compute. And Shield is their killer consumer app. Watch out for FAANNG

</comment></comment></comment><comment><USER23> Just noting that the Turing series of cards and later (which isn't just RTX, but also the GTX16* the the T4) _does_ have specialised hardware which helps with the video tracking side of this.

They have hardware optical flow[1] which doesn't seem widely known, but would absolutely help with parts of this - especially the reframing.

[1] [https://developer.nvidia.com/opticalflow- sdk](https://developer.nvidia.com/opticalflow-sdk)

</comment><comment><USER24> Only a windows version, meh.

</comment><comment><USER25> I'm running build 460 of the NVIDIA drivers on Win 10 because I'm using the DirectML support for WSL 2. It appears that Broadcast doesn't work with this as it tells me "cannot start service" each time I try to launch the Broadcast app.

Has anyone else gotten this to work, and what build of the NVIDIA drivers are you using on Windows?

<comment><USER26> > I'm using the DirectML support for WSL 2

How's that going for you? In my tests (directly on Windows host), tensorflow- directml was about 6x slower than tensorflow-gpu (e.g. with CUDA/cuDNN).

</comment></comment><comment><USER27> Here is the video explaining it nicely with demos: [https://www.youtube.com/watch?v=GRFjfGH87Dk](https://www.youtube.com/watch?v=GRFjfGH87Dk)

</comment><comment><USER28> I have 2 Q's

1\. As in video on background removal , why was the chair not blurred and because generally in background removal only the person is visible and all rest are blurred, how is it working?

2\. How Background Noise removal works, i mean how it is so smoothly removing background noise.How it is able to distinguish which is the primary and secondary,i know it's AI but still want to know the logic and basic understanding.Thanks

</comment><comment><USER29> How mature is this software? I tried to use RTX voice on an important call and it was not working at all causing me to be late and left a bad taste for these for serious use.

<comment><USER30> I've had no issues with it. The real problem was Windows 10's extremely frustrating and confusing audio engine.

</comment></comment><comment><USER31> I just updated my Quadro RTX 4000 to the latest available driver and it's only R450, when I try to install Broadcast it says I need R455 or newer.

<comment><USER11> Check for beta drivers. If I recall, Nvidia only cuts new "stable" Quadro drivers very rarely, putting them through very rigorous validation since they are pro-level hardware.

<comment><USER31> The latest driver was released 8/18/2020 and Broadcast's system requirements say they're supported...

There don't appear to be beta drivers.

</comment></comment></comment><comment><USER32> Anything similar like this exists for Mac?

<comment><USER33> Or linux?

<comment><USER34> Check out [https://github.com/lawl/NoiseTorch](https://github.com/lawl/NoiseTorch)

</comment></comment></comment><comment><USER35> This seems better than RTX voice I have my ears blown out when someone uses it on discord and it crashes.

</comment><comment><USER36> Odds that this winds up with a Linux release eventually?

=(

<comment><USER16> I'd say the chance is roughly the same as the percentage of Nvidia customers running desktop Linux, I imagine. The three of you must be used to this by now though?

<comment><USER36> My RTX-2060 runs well on Pop_OS!/Ubuntu

I've had pretty much nothing but good experiences running Nvidia on Linux the past 4-5 years, barring one strange issue with multiple monitors, a DisplayLink adapter, and trying to rotate a screen sideways.

I can see fiscally how it doesn't make a lot of sense for them -- but why write a platform-dependent implementation and not use code that's generic?

Is the problem the GUI? Build it with Qt or something

</comment></comment></comment><comment><USER37> Ah yet another Nvidia thing that would work everywhere but is blocked in software because greed. Remember how raytracing was supposed to only work properly on RTX but when people got mad suddenly it wasn't only RTX cards? And now we are even seeing it on the old and slow PS4. Next they'd likely do something crazy like require unnecessary hardware in screens or something. Oh wait..

</comment><comment><USER38> Noise reduction, background removal. Technologies that have been around for ages. But now apparently it's "with the power of AI" so it's newsworthy?

<comment><USER39> Machine learning for signal processing is no joke. It's an order of magnitude improvement. The approach is different, too. Instead of approaching the signal mathematically with Fourier transforms and such, you approach it as part of a pipeline where you extract high level components such as pitch and timber. The ML model learns how to do that.

This field is going to change everything. Look what I've been able to do with some of the recent ML innovations: [https://vo.codes](https://vo.codes)

<comment><USER40> The next layer that would put the realism off the charts is ML that's able to replicate a given speakers idiolect, not just their voice.

Mimicking people's ideolects is a hobby of mine, and I typed in phrases that Dr Phil would say, and the voice itself is good but the delivery is off enough that I know it's definitely not him.

Im sure it all get there one day.</comment></comment></comment>


Ask HN: What are you planning to learn in 2013? - <AUTHOR> A new year is about to begin. What are you going to learn in this new year to improve yourself?
Here are few things I would like to learn in 2013 :
1. UI/UX Design : I'm a hacker who can make decent looking designs using css frameworks. I know I have a sense of design and I would like to take it to next level and become an expert designer.
2. A functional language : I don't know a single functional language. I would like to learn one. May be Haskell.
3. The art of selling : I am building a SAAS app for a niche and hopefully I will work hard this year to learn how to sell it to customers. <comment><USER2> 1) Math, specifically calculus and linear algebra. I studied enough of it in college to pass the classes, completely forgot about it for 10 years, and now I'm finding myself needing it for some of my coding work. I'm hoping to work through MIT's OCW Scholar class on introductory calc as a refresher, then linear algebra, then maybe something harder on the calc side.

2) Japanese. I'm trying the "kanji-first" approach advocated by "Remembering the Kanji" with practice through Skritter[1]. I already know hiragana/katakana and basic pronunciation, so after I finish RtK I should be in a good position to tackle a couple books on grammar and start reading/watching/listening to less structured content.

3) A creative pursuit that doesn't involve (or at least center around) writing code. I love programming, but sometimes it feels like I'm missing something (everything?) by having my methods of creative expression so clustered together. I want to try writing fiction, drawing/sketching and possibly musical composition, and see what ends up staying with me.

4) HTML5, CSS3 and modern Javascript. At one point in my life, long ago, I would've introduced myself as a web designer. This was back when DHTML was a synonym for Javascript, anything more complex than hover effects seemed to require Flash or Java and every site had an unholy mess of framesets and tables for layout. Fortunately for everyone involved, all of those things (and many more) have changed in the past 10 years. Unfortunately for me, my front- end skills haven't. Hoping to get up to date with stuff like JS MVC frameworks, responsive design and Less/Sass.

5) Blogging, so that I can bore other people with stories about learning the things listed above.

[1]: <http://www.skritter.com/>

<comment><USER3> For drawing, I've been reading "Drawing on the right side of the brain" by Betty Edwards. There's a lot of text but the ideas and exercises do seem to work. I haven't gone through the whole book but so far it's OK.

</comment></comment><comment><USER4> As someone currently pursuing a CS masters degree, I've decided I'm a little burnt out on theory and implementation, so I'm getting back into my other love: history. With 6 or 7 new books about ancient history, hopefully I can get my brain to stop obsessing over the asymptotic running time of my roomba, and how best to get c0 coverage with cat toys as a variable.

</comment><comment><USER5> I just got my first Jr Developer job so I'm going to learn the following job related skills:

1) More algorithms and data structures

2) Get better at using recursion to solve problems

3) If I get through the first two - design patterns

Outside of work I'm going to learn about (and/or continue to practice):

1) Cooking - more techniques, flavors that work well together

2) Running, rowing, weights - correct form, improving my training program, the theory behind different training programs and why I should do certain types of work. For example: long steady state pieces vs short interval work

3) Filming videos and editing them well, in particular surfing and snowboarding/skiing

Edit: formatting - I'm trying to make lists

</comment><comment><USER6> 1) A foreign language. Maybe Spanish, but more likely French or German.

2) Perhaps how to drive. But I probably won't.

3) Modern CSS / HTML. I'm comfortable with static sites in HTML 4, but I'd like to learn about newer technology. I'm planning two sites in 2013 (one will be buying / receiving gifted Duplo, Lego, and StickleBrix to be cleaned, sorted, sterilised, and distributed to local not-wealthy children. That's easy enough for static. The other is the "alcohol awareness" game, where people have pictures of wine glasses and they have to "pour" either one unit, or pour a serving and guess how many units are in it. This is going to be lots of dynamic stuff.)

4) Enough about Linux to get a Raspberry Pi to boot in under 3 seconds. ([http://raspberrypi.stackexchange.com/questions/320/what- is-a...](http://raspberrypi.stackexchange.com/questions/320/what-is-a-typical- boot-time-for-the-standard-debian-distribution-on-a-typical-sd))

5) Child development for children 2.5 to 5 years old; mostly because that's my son's age but also because it's freaking fascinating.

6) How to YouTube, because I might set up a channel doing small youtubey type things.

7) How to _correctly_ run encrypted partitions and password managers and all that other privacy stuff. 2013 is going to be my year of reclaiming my data and keeping it safer.

</comment><comment><USER7> ROFL, I'm scared to even answer this, because my ambitions for "what to learn" every year are always WAY too big to actually accomplish. So, basically, this year's list is the same as last year's[1] (or the year before), just with even more stuff on it.

[1]: <http://news.ycombinator.com/item?id=2081336>

So, for starters, the leftovers from last year:

 _Learn Clojure_

 _Learn Scala_

 _Teach myself Calculus, Differential Equations, Linear Algebra, Probability & Statistics_

 _Dive deeper into data mining, machine learning, and AI stuff._

As it turns out, I didn't make anywhere near as much progress on any of that stuff as I'd hoped (some weird shit happened in 2012 though, so I'm not beating myself up too much).

In addition, I want to learn more about:

1\. marketing / positioning / branding stuff. I'm a techie by trade (if not by nature), working on a startup and we don't have a dedicated "marketing guy" so I need to learn enough to get us off the ground at least. Luckily I actually find this stuff interesting, and I did a lot of studying on marketing stuff in 2012 (Chet Holmes FTW)

2\. Sales. See above. We don't have a sales guy, so I need enough sales knowledge to at least get that first push going.

3\. Influence / persuasion. Always good stuff to have in the repertoire.

4\. More and more diving into "big data" / "data science" stuff.

5\. More on NLP, "text mining" and information retrieval.

6\. In addition to the aforementioned Scala and Clojure, I have a goal of learning some R and Prolog as well. Haskell would be nice as well.

7\. Lockpicking. I learned the basics last year, but I need to practice more. I want to get a lot better.

8\. Electronics / hardware hacking. I got into the Arduino scene a while back and started doing more low level electronics stuff in conjunction with that, and I'd like to continue down that path.

9\. Physical fabrication stuff. I planned to start on a Mantis PCB mill this year, but never got to it. So that, and a 3D printer. A friend has a partially finished Reprap that he wants to hand off to someone else, so I may pick that up from him and start working on that.

<comment><USER8> I feel you on 8 and 9. I think those are going to shift from "fun-time hobby" skills to must-knows for anyone who wants to call themselves a legit hacker in the next 5 years.

</comment></comment><comment><USER9> 1\. Web development - go from dabbler to very competent

2\. Voice - I'm about 1/3 the way through a huge singing course

3\. Empathy - I want to get better at _really_ putting myself in someone else's frame of mind.

4\. Maybe pick up basic conversational skills in another human language, but this one's at the bottom because I know how much time is involved.

<comment><USER10> I've found that the best way to be more empathetic is to become a calmer more patient person. Putting myself in someones frame of mind is like taking a mental deep breath after every time they say or do something. I have to let the loop of consciousness run a few more times before allowing my thoughts to become opinions and express them in a response.

I recommend meditation. Empathy is consciousness of self and of others, consciousness is pre-frontal cortex executive function. Meditation is the expansion of self-awareness. When I was younger, sometimes after getting angry, like reeaally angry, seconds after calming down I would think "Shit, there was no reason to get that mad". It's a complete loss of self-control, executive function. The same thing happens after saying something stupid(hurtful) and then realizing it was hurtful(not empathy), if I have the ability to realize I shouldn't have said it, that means if I had just mentally waited a second or two and reassessed the thought I could have prevented myself from saying it. Meditation helps give me this time, stay calm, and assess situations(not only social) before acting. I think if scientists(if they haven't already) looked at the brains of empathetic people and stay calm in chaotic situations they would find the front of their brain buzzing with activity.

</comment></comment><comment><USER11> I want to learn/do more with Ruby/Rails, Django, CSS. Would like to dabble with R as a way of getting familiar with "data science" tools. Would love to learn Haskell and Clojure but don't really have any specific projects in mind for them, which is usually a big impediment to successfully learning something. Same thing with Node. Also interested in Go and think there's a little more of a chance of actually doing something useful with it (maybe for a case where performance with Python just isn't cutting it).

</comment><comment><USER12> As somebody on the verge of shipping software for the very first time and trying to make some money off it, I'm hoping I learn a lot about running a business and dealing with customers.

</comment><comment><USER13> 1\. Probability

Bayesian statistics and its applications. A lot of things I want to understand like Probabilistic Graphical Models, Cryptography, and Computer Vision seem to be based in fundamental bayesian statistics I never really grokked that well.

2\. EE and Computer architecture.

I never studied any EE. The more I program, the more tempted I am to get closer to the metal. It's a little weird that I tell computers what to do, but I don't really understand exactly what they do with those commands. Nowadays computers are so fast, we don't NEED to know. We're network latency bound all the time. But not knowing still feels like a big gap.

3\. Visualization.

There are some crazy cool alternative visualizations out there. The remainder of the decade is going to be about visualizing data for humans as we wait for the day computers can truly understand and reason about it. I want to understand the state of the art in explaining data rather than just throwing pie, line and bar charts around and calling it visualization.

All of these are interesting to me because they're core concepts. I've learned a good bit about Node, Ember, D3, CSS3, and advanced Python in my free time over the last few months, but they're just tools of the moment. I'm getting older and I want practical CS knowledge where the state of the art doesn't change fundamentally every two years. I can pick up and put down the tools.

<comment><AUTHOR> I'm also interested in "3. Visualization". Can you share how are you going to approach it? I'm interested in knowing what topics to cover, which books to consult, which tools to use.

<comment><USER13> I took Edward Tufte's course: <http://www.edwardtufte.com/tufte/> That's interesting but most valuable is probably his books.

I was planning to read Interactive Data Visualization for the Web <http://ofps.oreilly.com/titles/9781449339739/index.html> I think that's mostly an introduction to the tool (D3) but maybe has some info on visualization itself.

Also, this tutorial was an easy intro to D3: <http://code.hazzens.com/d3tut/> Hopefully, the author continues to add to it.

Mike Bostock (author of D3) has some interesting blogs at: <http://bost.ocks.org> and also some great visualizations at <http://bl.ocks.org/mbostock>

A PHD in my office recommended The Grammar Of Graphics [http://www.amazon.com/The-Grammar-Graphics-Statistics- Comput...](http://www.amazon.com/The-Grammar-Graphics-Statistics- Computing/dp/0387245448) It seems much more technical and statistical but could be an interesting set of ideas to synthesize. I'm planning on borrowing his copy.

Mike Bostock's stuff also led me to this page on Hive Plots which is a pretty cool description of how to do network visualization better: <http://www.hiveplot.com>

And I like Flowing Data as a blog: <http://flowingdata.com/>

This is all of course prior to actually having studied it. I'm hoping using these resources and playing with some toy projects will lead me down further paths. (Assuming I have time which I, of course, probably won't.)

</comment></comment></comment><comment><USER14> In no particular order...

1) Cooking. I have a few standbys that I can make on a regular basis, but I'd like to expand a bit and find some more dishes both my wife and I enjoy. (She's a vegetarian, I am not.)

2) Systems / low-level programming. Mostly for my own amusement, but I'd like to have a better understanding of operating systems and how software interacts with hardware in general.

3) Improved parallel programming. I'm an HPC sysadmin and I am good enough with parallel programming to get by with helping debug users' code, but I'd like to be a lot better, especially since I often interact with complex applications that scale to thousands of nodes.

4) Math and physics refresher. I have a B.S. in Physics but I've been in computing for a while, and I'd like to re-assure myself that I know about more than computers. :) I plan to spend some time on old books, notes, and problem sets for both basics (Mechanics, EM, Quantum) and some favorite subfields (solid-state).

5) Machine shop skills... probably take some classes at the TechShop in San Jose.

And of course, just about anything I see that I think looks interesting in the next year. :) Be interesting to look at this list again next December and see what I actually did.

</comment><comment><USER15> Other than improving my programming skills and learning a bit more computer science theory in general:

1\. Music. Learning to play the piano

2\. Drawing and Painting

3\. Cooking

<comment><USER9> For drawing, I strongly recommend Drawing on the Right Side of the Brain. And you DO have all the skills you need to get started as long as you have remotely decent eye-sight and the ability to wield a pencil. The important thing is to force yourself to let go of iconic representations and look at the lines that are actually there. It will be uncomfortable, but once you do that, your progress will really begin.

<comment><USER16> I can second this. I'm your typical average terrible drawer.

Stepping through the first quarter of this book, following the exercises and going from being able to draw a barely recognisable stick figure to an actually respectable drawing within 50 pages was an amazing experience.

</comment></comment></comment><comment><USER17> 1\. Japanese, at least enough to navigate some Japanese websites 2\. Some design sense. So that my weekend projects doesn't look like crap without bootstrap. 3\. More maths. I am rather surprised how lacking my math is for doing some serious programming tasks. 4\. Python. there are more, but i think i should focus to these,

<comment><USER18> On behalf of all my Japanese friends, glad to see #1 on your list. Highly recommend traveling there: nothing like immersion to build a skill!

</comment></comment><comment><USER19> 1) UI/UX: I've done too much javascript server-side to pass on the opportunity to apply my knowledge to client-side technologies and make (visually) awesome stuff.

2) Blogging: I learn too much stuff to not pass on that knowledge.

3) DreamLeaves: I've had this "group" of mine on hiatus for too long. I need to build a functional platform to showcase all of our works and make all of us "rockstars" in our respective fields.

4) Marketing: "You dev guys, you got gold in your hands!" always say a friend of mine (let's say he's a "bank-guy"). Bad news though is, I could make the next facebook/instagram/w/ever, I wouldn't know how to distribute/advertise/sell it properly.

5) More time outside of code. Today, my life is split between coding for a job and coding for a passion but even those two are still centered around the same project.

But all this would be naught without... n+1) Follow a schedule.

</comment><comment><USER20> Vert.x

I want to solidify my Scala skills with real world projects beyond testing. I have one about 3/4 done. I am interesting in seeing how it goes when it makes contact with the real world.

Marketing, marketing, marketing.

That should pretty much take up this next year, at least.

In my free time, I will try and get my guitar skills beyond 4 chord songs.

</comment><comment><USER21> I'm doubling down on EmberJS. Paired with rails-api and active_model_serializers, it hits a sweet spot for me.

I'm planning on doing some substantial renovations in my home so I'm excited to learn more about how things are built.

Finally, I'm determined to learn how to cook well enough to impress people.

</comment><comment><USER22> I learned how to program in Haskell. Although Haskell is hard, learning a language is still relatively easy compared to writing good 100KLOC+ sized software in whatever language.

In 2013 I hope I will figure out how to write good software in Haskell by writing good software in Haskell.

</comment><comment><USER23> 1\. How to say no more often when working in a team - I need to be a better delegator

2\. Scala + Play Framework - Java shop, I'm sure this will help long term

3\. How do disconnect once I get home from work - I spend too much time online... I need to unplug once in a while

</comment><comment><USER24> For me it is more about improving rather than learning something new, except for one...

1\. Improve/revisit my german.

2\. Improve my cooking skills.

3\. Improve/augment mobile development skills (iOS/WP8)

4\. Learn the harmonica. It has been sitting on the shelf too long.

</comment><comment><USER25> Well as I just bought IntelliJ IDEA in the JetBrains dooms day sale Java (and Android) is number 1 on my list. Along with a bit of C++11 later in the year. I think I will also learn the basics (maybe a little bit more) of Python as well as I have been putting it off for a couple of years now.

In general I want to move away from Windows and more towards Linux as my development environment as much as possible. I have no real problem with Windows but I would like to feel as comfortable in the Linux desktop world as I am on Windows.

</comment><comment><USER10> 1) Node.js, express, socket.io

2) How to build a networked multiplayer game with above technologies. Possibly using impact.js or other game library.

3) How to draw sprites, character concepts, backgrounds for 2d Game.

I've always wanted to become a respectable artist, but the ability to draw was never enough of a motivator to make me really dedicate myself. Building a small mmo that others can enjoy and play together lets me become a better programmer, as well as gives me a reason to draw and exercise my creative side that I can really get behind.

</comment><comment><USER26> 1\. sed and awk;

2\. To use vim competently;

3\. To touch-type;

4\. Perl;

5\. Polish;

6\. To stay offline on Xmas day.

<comment><USER27> Out of curiosity, why Perl?

<comment><USER28> Plenty of reasons to.

sed, awk and Perl practically don't have any competitors in their stride.

When you learn those tools, you basically realize that all the while you were using a hammer, while what you should been using is a screw driver.

<comment><USER26> I'm planning to learn Perl for a combination of its ubiquity, the cheap O'Reillys I came across recently, and contrarianism. Kamaal's answer also covers it really well.

</comment></comment></comment></comment><comment><USER29> 1\. Learn agda and Coq, read Pierce's Softw. Foundations and Chlipala's book

2\. Find a teacher for clarinet and/or cello; keep working through Well Tempered Klavier preludes

</comment><comment><USER30> I feel I'm running the risk of repeating the standard HN response for this type of question, but here are my goals for this year:

* Greatly improve my functional programming

* Learn Japanese

<comment><USER18> Another list with Japanese language skill as a goal, love it. Highly recommend traveling there, it's wonderful and confounding at the same time.

</comment></comment><comment><USER31> 1\. Enough Spanish to be useful for travel

2\. Salsa dance

3\. Bayesian Statistics

4\. Julia (julialang.org)

</comment><comment><USER32> Español - Estoy aprendiendo hace 3 meses con los websites Duolingo.com, italki.com, anki y otros. Espero que en un año puedo tener buenas conversaciónen con hablantes fluidos.

There are some really interesting emerging ways to learn a foreign language also an emerging community of language learners and polyglots on the internet.

<comment><USER33> As a native Spanish speaker: DuoLingo es muy bueno para principiantes! ... some parts of Spanish are simple (acute accents rules are not hard) but verbs are terrible (compared to how simple they are in English) but there's plenty of material to study. Best of luck!

</comment></comment><comment><USER34> I will try to learn:

1\. A programming language.

2\. A natural language.

3\. Work/Life balance.

4\. To enjoy my life.

</comment><comment><USER35> 1\. Haskel

2\. Rails

3\. Typography theory

4\. Statistics

5\. More political philosophy

6\. More arcane photography methodology/techniques

This is all in addition to the general academic edification entailed by high school.

<comment><USER36> What encompasses typography theory? Like semiotics / linguistics or something more specific to web font use?

</comment></comment><comment><USER37> 1\. Music, theory and practice. I'm currently experimenting with the bass guitar, acoustic guitar and electric piano.

2\. CS theory. I'm a fresh ECE grad and our program was light on CS content. I plan to work through Daume's "Yet another Haskell tutorial", Downey's "Complexity" and SICP.

3\. Ballroom dancing.

4\. German refresher course.

5\. Improve my design skills.

</comment><comment><USER38> Planning: all the things I was supposed to learn in 2012..(2012 - [self age]).

Actually learning: whatever I feel like.

I am hoping to land:

1\. Electrical Engineering

2\. Smalltalk

3\. Photography

4\. Wood and metal craft

5\. Higher math

</comment><comment><USER39> I gotta learn how to make this go viral :O

<http://www.lootitooti.com/>

<comment><USER40> that's hilarious, esp the looti tooti version :)

<comment><USER39> Thank you :). It's just a silly project for a laugh.

</comment></comment></comment><comment><USER41> 1\. Javascript templating like mustache and dust

2\. Webgl and three.js

3\. Websockets and node

4\. Phonegap and mobile development

5\. Math geared towards game development

</comment><comment><USER42> HP 50g RPL (calculator stack language - lisp like).

Maths refresher including statistics.

How to grow mushrooms (not dodgy ones).

</comment><comment><USER36> * To learn and get a deep understanding of Go (golang) * To find a project thay excites me and that I believe I will be able to sell. * Meta-goal: to set adequate goals for myself so that I can keep learning, working and building without burning out.

</comment><comment><USER18> Learn commercial hardware design & distribution, especially UL (TUV?) certification.

</comment><comment><USER43> For me: Python (Advanced): Django/ BeautifulSoup Clojure Android JQuery

Improve my Japanese/Mandarin

</comment><comment><USER44> 1) CFA Level 1 and start CFA Level 2

2) Skiing

3) Improve my knowledge of stochastic Calculus as used in finance

</comment><comment><USER16> Node.js - I've been doing only client side js for a long time (mostly via rails). Being able to do the client and server side code in the same language sounds really intriguing.

</comment><comment><USER45> 1\. pipe welding, all positions 2\. yoga 3\. fingerpicking

<comment><USER46> +1 for pipe welding

</comment></comment><comment><USER47> Cocos2d-x and CocosBuilder. For making relatively simple iOS games that I _could_ port to Android and Windows, is there a better choice?

</comment><comment><USER48> I am a programmer.

Will improve on: 1\. Clojure 2\. Enrolling in a design course at Berkeley 3\. Learn better management of money 4\. Understand business

</comment><comment><USER49> 1\. Dvorak

2\. Emacs

3\. Clojure

4\. Testing from a keyboard

<comment><USER50> Unless you are dead-set on dvorak, look into colemak. It is much easier to learn vs dvorak and keeps many common keys. Mac OS X and modern linux distros have it built in as well.

<comment><USER51> Xavier Shays diary on switching to Colemak: <http://rhnh.net/2006/09/18/the- colemak-diaries>

</comment></comment></comment><comment><USER52> Android development Ruby Better Java

</comment><comment><USER53> 1) How to play the piano 2) How to make VSTs 3) How to sell software (potentially as a service)

</comment><comment><USER54> 1\. Clojure: I should have learned this year(studied some, though).

2\. Study more design patterns.

3\. Some haskell/erlang.

</comment><comment><USER55> 1\. German 2\. Rust 3\. UX/Design

</comment><comment><USER56> 1\. How to make the most of my Raspberry Pi

2\. Farsi

3\. Touch-typing

4\. Business Unit Management

5\. Knitting and clothes-making

6\. Ceramics (fine art and stoneware)

</comment><comment><USER57> Amateur robotics and radio!

</comment><comment><USER58> improve my drawing skills.

</comment><comment><USER59> I plan to become an expert on adaptive clinical trial design.

</comment><comment><USER60> More Scala and Akka

</comment><comment><USER61> SWITCH, ROUTE, TSHOOT, NX-OS, ISE, JNCIA

</comment><comment><USER62> iOS programming.

Machine learning.

Open source contribution workflow.

Advanced Algorithms from various websites.

</comment><comment><USER63> Python.

</comment><comment><USER64> Erlang/Haskell

Acoustic Guitar

Drawing

Exercise

Mobile Game

B2B app

</comment><comment><USER65> D3 and R

</comment><comment><USER66> Hardware and electrical engineering. I want to build an electronic cigarette with a tiny computer in it.

<comment><USER67> I really want to begin to learn this too, any ideas where to get started?

<comment><USER6> My usual response to this is to suggest that people get "The Art of Electronics" and "The Art of Electronics Student Manual", and then some cheap equipment and components, and then work through both books.

Some of the books are severely out of date, but much of it is still useful and they're great introductions for smart people to electronics.

And nowadays you don't even need real equipment, you can probably find excellent simulations and virtual equipment.

Along side that you probably want to learn to solder well. (<http://www.astro.umd.edu/~harris/docs/WellerSoldering.pdf>) is a guide from Weller. This is a bit old, because it doesn't cover no-clean solders, or low- lead solders.

Hopefully other people have some more up-to-date information.

</comment></comment></comment><comment><USER68> 1) Microsoft Bob 2) OS/2 3) Apple Lisa</comment>


60% of working software engineers do Not have a CS degree - <AUTHOR> http://techcrunch.com/2016/01/12/unlocking-trapped-engineers/ <comment><USER2> I've always wondered why we (as an industry) regard CS degrees so highly. Not because the information taught isn't useful, but it can be learned with or without a formal degree, and the way things are taught in school aren't exactly conducive to retention and applicability.

Consider the difference between:

1\. The person who learned these concepts as an 18-21 year old so they could pass a test and get a good grade. They don't really know how to apply these concepts to solve real-life problems yet, and often by the time they encounter such problems they might have forgotten what they were taught anyway. How much knowledge do you really retain as a teenager in college trying to pass a test?

2\. The person who learns these concepts because they need them to solve a real-life programming problem at their job. I would wager this person learns these concepts more thoroughly because they need to actually understand them in order to finish their work. Their retention will be better because what they're learning has immediate real-world applicability that they can reference back to in the future.

In many circles person (1) is valued more than person (2), which just seems kind of backwards to me.

<comment><USER3> Totally with you there. I've actually appreciated my CS textbooks dramatically more once knowing their content made a tangible difference in my ability to build our product. For me having practical needs force me to learn more about the theory has always made much more sense.

</comment></comment><comment><USER3> Do you need a science degree to scaffold a bunch of Rails routes and copy and paste from SO? How many of us are actually pushing the state of the art vs being technicians with the tools we're given?

How many of you are optimizing data structure algorithms, implementing new crypto, optimizing networking stacks, or conceiving and proving new distributed consensus logic? And even if you are, how much of it will end up in production for your company rather than stay as a fun weekend toy project?

I'd venture to say that's it's something that far less than 1% of the developer population has to bother with.

<comment><USER4> Err can we not belittle technicians here as some one at my first Job said its the technicians who still remembers how ohms law goes :-)

A few years ago I had to correct some bridge calculations that the Engineer had done :-)

<comment><USER5> Great. You're smart. You're probably a great dev. But let's face it, we're the builder's, they're the architects. They're the researchers, we're the lab assistants. I'm OK with that because I like building. Occasionally I'll try to plan and design my own house, but I'm certainly not as effective as those who've gone to study this. Maybe after 5 (YMMV) years I will be with self- study, but they'll have 5 years more experience by that point.

(Don't take that "you're smart" comment as an insult, I genuinely meant it.)

<comment><USER4> Having worked at a top 5 Civil consultancy I think our "Engineers" might have seen "Architect" as a bit of an insult.

A case in point is the wobbly bridge across the Thames designed by a high profile Uk architect - that had to have a lot a rework done.

</comment></comment></comment></comment><comment><USER6> First off can we stop calling programmers "engineers" they are not, they are much closer to being "artisans".

Secondly in my long experience it's not the "engineering managers" that have a degree fixation but the "Human Resources" dept, that usually insist on being in charge of recruitment policy, even though an even smaller percentage of them have a job relevant degree or diploma.

Further if you want decent programmers try looking at people with other types of degree in engineering and science. The thing is CS projects are usually "not real" where as those doing engineering and science degree projects have to design and build real tools in software to do their projects. The difference between CS theoretical and other degree practical programming really stands out. Which was one of the points this article could have gone into more thoroughly.

<comment><USER7> Your programmers != engineer issue brings up a larger issue I'm always wondering about when people/companies/etc say we have a software engineer shortage.

Just what type of developer are they talking about? There are many types of engineers/developers: front end, back end, write algorithms, do data integration, automate systems, write database queries, real time, graphics, embedded systems, and on and on and on.

So which ones are we talking about? What types of background do they need? The discussion on "the shortage" is always lacking in details.

~ Bryan

PS: I think this issue is also why some say developers != engineers.

</comment></comment><comment><USER8> about 3 years ago HN was about 50/50 [https://news.ycombinator.com/item?id=3785277](https://news.ycombinator.com/item?id=3785277)

I'm always amazed at companies that don't train their people. It's easier to say "they couldn't use HAVING in a query, pass" than to say "I believe I can teach them SQL effectively." But the freedom to think the latter lets you build a very strong team.

It's the genius of Facebook's OSS policy. Let everyone use their stuff so that new people can pop right in, learn on your own time before we're even paying you...

<comment><USER9> Best reasons I can think of is projection and pride. If I couldn't do this job without a PhD and 10 years of experience then of course NO ONE else could possibly do it without those credentials.

Then there's the, if I HAD to have all these credentials to get a decent paying job, then everyone else should have to jump through those same hoops to or it won't be fair to me.

<comment><USER10> It depend on the problem. Some problems really do require you have a lot of knowledge depth to be able to solve.

<comment><USER11> You can tell from the tone of some other comments that pride is a pretty big factor.

<comment><USER10> It might be, but it is also a shared culture. People like to work with people who have a shared background and understanding.

The natural sciences are similar in that you have to have a PhD to be taken at all seriously even though most of the time there is really no difference between a person with a BSc and 5 years of experience and someone with a PhD.

<comment><USER11> >It might be, but it is also a shared culture. People like to work with people who have a shared background and understanding.

This is clearly the case for many people, judging from the complete lack of diversity at many tech companies.

For a "meritocracy" Silicon Valley sure loves credentialing.

</comment></comment></comment></comment></comment></comment><comment><USER12> I've read several articles about how US doesn't actually has a software engineer storage, and I slowly begin to realize something. Do journalists that write these articles actually think that if you open up engineering position and get, say, 10 to 20 resumes, there is a high probability that even one of these people would actually be worth hiring?

After maintained code made in outsourcing shops, hiring and helping others hire, I slowly came to realize that more than 50% of programmers out there put in a steady negative input into projects and organizations they're part of. The fact that there are millions more "programmers" who are looking for a job than there are job openings doesn't contradict with the fact there are too few good developers out there, in any country that I know.

</comment><comment><USER13> I've always wondered this: would you necessarily trust a food engineer to make you dinner? Does that qualify them?

</comment><comment><USER14> I'm not even sure that CS is the best degree for software engineering. People with maths, physics, computer engineering and software engineering degrees seem to get more done and be more likely to be qualified.

<comment><USER15> I'm curious. Why do you think that's the case? Do you have any evidence to back that claim?

<comment><USER16> I suspect it's anecdotal and based on experience. It wasn't even a claim, but more of a statement of how things seem.

One example: Google is known to have a lot of people with CS degrees. Yet often, their software is astoundingly lame. For example, their voice transcription seems to have no awareness whatsoever of the names of people in my contacts, data that Google has full access to. This results in a horrific user experience for anyone who attempts to rely on the results. The problem here isn't what degree the engineer had. The problem is more about conscientiousness. Whoever did that system, does not care.

Myself, not having a CS degree, am keenly aware that people perceive that to be a weakness. So, partly in order to make up for that, but also just because of my personality, I care a lot about the quality of what I do, and I assess quality from many different angles, not only the angle of am I using the most efficient algorithm. I'm not saying CS people can't care, but non-CS people do have more reason to.

<comment><USER17>
        The problem here isn't what degree the engineer had.
        The problem is more about conscientiousness.
        Whoever did that system, does not care.

I can see how you might have gotten that idea but having worked at Google in the Past let me suggest an alternative explanation. Personally Identifiable Data is heavily policed at Google. It's possible that the problem was less how much the engineer cared and more a lack of access to that data for some reason.

<comment><USER16> Thanks. I actually did think of that explanation. But it doesn't hold up under scrutiny. Google Voice, of all services, is exactly the kind of service that should be able to access the user's contacts, for things like dialing and showing the names on incoming phone calls. Super hard to believe that's an issue. And if the permission isn't there, it's easy to ask for it. And if not, just use a generalized list of names.

Yes silly me for focusing on contacts. They could have just built a general name dictionary for various languages. If they cared to. But (judging by the poor recognition performance of the system) that doesn't seem to have happened, at least the last time I used the service, which admittedly was some time ago.

</comment></comment></comment></comment></comment><comment><USER18> As a web developer, I don't think of myself as an engineer. I think of myself as a craftsman. An engineer learns to manipulate the rules of nature and does so in repeatable ways to make things that are primarily functional. A craftsman learns the rules of his tools and uses them to make things of beauty rather than of function.

I would be bored to tears with engineering, web work offers me an outlet for my creativity.

<comment><USER9> I have a few friends that are civil engineers. "being technicians with the tools we're given" is exactly there job title. They aren't coming up with insane new concepts for bridges or new mixtures for concrete to improve roads, they're just doing what they are told with the tools they are given.

ie Design a road that is x feet long, has proper water drainage for the area, and meets safety standards for typical vehicle weight, etc, etc. Yes, SOME civil engineers are probably pushing the limits, most just design standard parts that fit into the required schematics.

<comment><USER18> > They aren't coming up with insane new concepts for bridges or new mixtures > for concrete to improve roads, they're just doing what they are told with > the tools they are given.

Coming up with new concepts is the domain of the architect, which lies square in the middle of the engineering / craft spectrum.

Otherwise you are just reiterating the basic idea I tried to articulate using different words. You can't engineer or craft without tools. The difference is in the focus. Engineers, because they are building primarily for function, need to know the invariant rules of nature so they can design the most economical solution. They may not need or use them frequently, like your friends, but you need to know them to be an engineer.

</comment></comment></comment><comment><USER19> What percentage of CS graduates are capable of writing code to any useful extent? 40% seems like an optimistic estimate, from my experience.

<comment><USER20> You are implying an overlap between the people that write good code and the people that finished college, and that is not always so.

</comment></comment><comment><USER21> I had a friend who worked with a front end engineer, the very first employee of the startup.

One of the things, my friend's coworker said:

"We don't do computer science on the front end. If you want to do computer science, talk to the back end people."

.. To this day, I don't quite understand how a person can think engineering exists independently of science.

<comment><USER22> It is a little bit sad, but a little bit true. You can have an amazing artistic mind and know nothing about math or science or logic, and do some cool stuff on the front end. Sure after they write some html all kinds of stuff happens to it that involves computer science, but the dude writing the HTML doesn't need to do that.

<comment><USER23> In other fields it's well understood that it's important to encapsulate the real science and engineering bits inside standards and well characterized components. There are a lot of engineers and technicians that confine themselves to applying those to problems. Which is totally proper. And engineers that do the hard stuff tend to confine themselves to very narrow domains.

Somewhere someone is carefully designing the plumbing for a rocket engine the better to carry cryogenic hydrogen and oxygen. And somewhere a plumber is using a saw to cut a piece of ABS pipe the better to carry sh*t. Somewhere a computer scientist is working on a lockless database widget. Elsewhere a high school dropout is setting up a web page for a diner. It's all okay.

</comment></comment></comment><comment><USER24> My coworkers with Software Engineering degrees are working software engineers that do not have a CS degree. It seems misleading to only include CS degrees.

Also, that question on the Stack Overflow survey saying that 40% of devs are self-taught was a 'pick all that apply' question. Some of them may have a degree and checked the box because they continued learning.

</comment><comment><USER5> There's very few front-end jobs at the moment that require hardcore CS thought. You're best to get a job in WebGL or WebAssembly work if you'd like that.

</comment><comment><USER25> Something tells me we are due for a correction with field. If it's that easy and and the barrier to entry is that low we should quickly end up with a surplus and lower wages.....that or we will automate these things and/or offshore these jobs to $15 an hour locations. Then the good jobs will be with the harder things that do require math etc.. I personally think that the degree is valuable, but there are good graduates and bad ones....seems like raising the bar to graduate might be a better approach.

<comment><USER17> I think you may have missed the point. It's not easy at all to become a software engineer. It takes a lot of work. But the very fact that it isn't easy makes it all the worse when a company disregards more than half their pool of potential hires.

</comment></comment><comment><USER26> In some states in the US you actually need an engineering license to call yourself an 'engineer' in public - but usually there are exceptions for people who work for large companies.

Government licensing of engineering isn't the answer, but on the other hand calling oneself an 'engineer' without any formal or informal training seems like equivocation in the best case and outright lying in the worst case.

<comment><USER27> Who said people without CS degrees have no formal or informal training? It would be difficult to work in a software role with no training. Pulling that off for any amount of time would be an impressive feat.

<comment><USER26> As far as most state law in the US is concerned, 'formal training' for engineers is generally defined as having an accredited degree. 'informal training' for engineers is generally defined as having a documented apprenticeship under someone of known competence.

<comment><USER27> Ah, that "informal" was referring to a particular body of training. I took it to mean its standard English definition, which would extend to self-study and working as a junior developer.

</comment></comment></comment></comment><comment><USER28> I end up with two conflicting feelings to a story like this.

"Engineers". Hah. Title inflation at its finest.

No CS degree? So what? How much day-to-da programming in the world requires an actual _science_ degree?

<comment><USER29> Depends, my lack of deeper CS knowledge does impact stuff related to game-dev and math.

I took some time off recently to fill in the gaps missing though I wouldn't say it's something CS degree would have fixed. It would be nice to have a degree to show for it though.

<comment><USER30> As someone that got to fifth year of a computer engineering degree[0] to drop off with only 2 classes left, I agree: There's stuff you learn in uni, thinking that you'll never use it again and, suddenly years later, it's the stuff that saves your ass (sometimes even vaguely remembering that there's something that might help with a specific problem helps).

So on that side, yep, studying a CS degree will give you a breadth of knowledge that you won't get learning 'on the job'.

On the other hand, I very much prefer working with someone that is able to see a gap in their 'mind toolbox', identify it as an issue and fix it to someone that just follows blindly a CS degree coursework.

[0] Hey, don't look at me, it was called like that in my country and, to be honest, it did have quite a bit of computer engineering (electronics, circuits, processor design...) as well as all the usual CS stuff. And maths, loads of maths.

<comment><USER29> For me, a CS degree is mostly math. I've met CS graduates who had the same gaps I had outside of math. Stuff that the degree wouldn't teach you.

But as I said, having the degree helps. It's easier to get jobs. I regret dropping for only that reason. I can fill the gaps myself.

</comment></comment></comment></comment><comment><USER31> And 100% of the "software engineers" with a CS degree are not actually engineers.

<comment><USER4> I bet at least a few are Charted/Professional Engineers and remember that not all countries really consider Engineers as proper professionals like Doctors or Lawyers.

I actually stated down the track to charted status but in the end gave up as it has no value to me.

<comment><USER26> Yeah I'm not sure it's such a good idea to get the government involved in certifying programmers. On the other hand, many who call themselves engineers are confusing themselves or the public.

<comment><USER4> The professions self regulate in the main

</comment></comment></comment></comment><comment><USER32> They sure as hell aren't engineers.

Code monkey != Engineer != Computer Scientist

All this BS about "Anyone can code!" has had seriously detrimental effects. Now everyone who can do some website bullshit and say "Agile" a lot thinks they're Carmac.

<comment><USER33> I have no CS degree and I'm would call me between Code monkey and engineer. But I know people with a CS that are only code monkeys. A CS degree doesn't say anything.

<comment><USER34> It definitely says "something". Maybe not that the degree makes the person immediately better than one without but that the person is classically trained in the discipline.

They have a breadth of knowledge in programming languages, compilers, cpu architectures, data structures, complexity, computational math, graph theory, and much much moore. Not to mention other things that come with a well rounded education like history and literature.

Can one learn that on their own or from career experience? Probably unlikely they will pusue each topic. Do you need all that to do your typical software job? Probably not.

<comment><USER33> I tried to study, but not just CS, I tried a mixed degree, financial and CS. I failed in the financial part. Still I didn't learn anything new in the first 3 semesters for CS.

The most things you will learn from your colleagues in your first job. Especially about TDD and Testing. You have like 1 semester about testing in the most colleges, that is way too less.

Btw. I live in Germany so maybe the Bachelor degree in CS here is a joke.</comment></comment></comment></comment>