Ask HN: What skills to acquire in 2019? - <AUTHOR> I quit my software development job 4 months ago to take some time to travel, develop some ideas, and improve myself. I have a very flexible schedule, and I'm eager to make the most out of 2019.<p>What are some skills (technical or not) you think someone in my situation (or anyone else) should consider acquiring in 2019? <comment><USER2> I've been learning Elixir, which is really good for creating concurrent and scalable systems. Concurrency has always been something that has fascinated me and I see in Elixir a chance to make very concurrent code without having to deal with locks, race conditions, and all the other icky low-level stuff. Elixir is also a functional language, making this is the first functional language I've learned, which is another reason I'm enjoying it.

Over the past couple years, I've heard from developers who were very satisfied with Elixir, so I finally sat down and started to learn it.

As I've been learning Elixir, I've been writing a series called "Learn with Me: Elixir" at [https://inquisitivedeveloper.com](https://inquisitivedeveloper.com). The idea is that anyone else who's also interested in Elixir can follow along as I learn it and learn it for themselves as well.

Of course, playing around with it has also helped me learn far more than just reading about it. Writing about it has helped me learn a lot better, and my hope is that someone else will also find my writing useful.

<comment><USER3> I use Rails for my web programming needs, and I've heard a lot of people talk about switching from Ruby/Rails to Elixir/Phoenix because of "concurrency", but I'm going to be honest and say I don't know what that means. I'm not a CS grad and I'm not super familiar with all of the terminology.

Can someone help me with two things? Really trying to understand the benefit.

1\. When you say "concurrency" do you just mean "handles more users at the same time" or is there something more to concurrency? I keep seeing web chat applications in tutorials for Elixir but chat is such a small application of a technology that I find it hard to believe the majority of Elixir users are building chat systems. What are you using the concurrency for? Why isn't Rails sufficient for that application?

2\. Given that most web apps are CRUD, are there any benefits to using Elixir for a typical CRUD website (other than less-than-tangible things like "it's functional")?

Much appreciated!

<comment><USER4> I'm a single core server, and I have a queue of tasks. I can process them one at a time. But say I don't want to work on one task at a time. I might decide to do some database operation and while I'm waiting for the response to come back, I might decide to do some work on a separate thread so I'm not idling. We now have concurrency. If I add more cores, and my program is coded to be able to take advantage of that, I have more workers to execute that queue and now we have parallelism! If I then go and add separate computers (nodes) and connect them over a network, we have created a distributed system which itself may be a concurrent, parallel system.

What Erlang and therefore Elixir gives you is a very sound mental model whereby your communication between nodes and separate workers is done via message passing between Erlang processes (read: not OS processes), and the receiving process may or may not be on the same computer as the sender. Those messages may also be synchronous or asynchronous, depending on what you're doing.

It also gives you a nice mental model for failure. Imagine I'm doing some super big indexing of some alphabetized data. It may make sense to subdivide that work along letter bounds, where some worker does A, another does B, ... etc. Suppose the worker for Q failed. What do you do? You may have to kill the entire job, but you might be able to get away with just repeating Q, or maybe even some subset of Q. But you as the worker that just failed are not in the best position to make that decision, so you fail and let your supervisor know, just like in a large organizational structure. That supervisor may decide the whole job is unrecoverable and fail and let ITS supervisor decide what to do. Erlang/Elixir gives you a toolkit to describe these operations via constructs called GenServers and Supervisors that you organize into what are called "supervision trees".

It also guarantees "fairness" between your jobs. Say you have the letter example, and whatever you're doing, the letter L s taking WAY more time than anyone else. To preserve overall system integrity, the Erlang VM will decide to say "hey man, you're gonna get a chance to finish but I'm gonna let M get some time for a bit and I'll come back to you." This is called "preemptive scheduling". This gives Erlang its "soft real time" properties.

All this to say, you're really setting yourself up to build more complicated systems if you need to. But even if you're not, and you have a typical CRUD app, things like preemptive scheduling are super powerful. Consider a web server. It may make sense to give each request its own process. If you have one that's taking too much time, the system will make sure you're not backing up completely by making sure the next request can run, for at least a little bit.

I'm kind of handwaving details here, but this is the general idea behind these types of systems. Erlang as originally designed was to handle telephony switches and such, and therefore had to handle many different callers all at the same time, on systems with not as much parallelism, and therefore being able to process jobs literally simultaneously, but they needed to ensure that the calls waiting to be connected could connect eventually.

They also designed around being able to hot upgrade your system. If I'm a telephone pole computer, there's no way they're gonna send a guy out to me to upgrade my system, and I want to make sure I can update the computer while it's still servicing the calls coming through it.

<comment><USER5> I enjoyed this explanation, thank you.

Curious to know what the differences are vis-a-vis big data tools like Hadoop or Spark; as a user of those tools I recognized a lot of common failure patterns in the example above. Thanks!

<comment><USER4> I'm unfamiliar with Hadoop/Spark beyond knowing what they are and vaguely where they'd be used, but I imagine they tend on the "well we can just recalculate sub-jobs" failure models, instead optimizing developer speed over computational speed. Though that is wild speculation.

You wouldn't use Erlang/Elixir for doing calculation because that's just not what it's good at. But you might use it as something to manage jobs in a larger distributed system perhaps. Though my suspicion there is you may run into tooling impedance mismatches as you get deeper into the failure modes.

Sorry I can't speak more knowledgeably about that. I'm curious if any WhatsApp folks are around and can comment on if they ever made their Erlang systems talk with their Hadoop/Spark stuff and what that all looked like.

</comment></comment></comment></comment></comment><comment><USER6> 3 critical skills that will help you through out your life: 1\. Learn to workout well - crossfit, hire a trainer, etc 2\. Basic financial knowledge - investing, taxes, RSUs/Options, etc 3\. Presentation skills - most of your career will be determined by how effectively you communicate, influence and persuade. Invest in it.

<comment><USER7> Great advice! Do you know of any links/resources to help develop skills 2 and 3?

<comment><USER8> read Iwillteachyoutoberich.com to start on #2 his site is by no means the end all be all, but it will give you a start.

<comment><USER9> +1 to this, I think Ramit Sethi's material is a great introduction to financial knowledge. This year I'm following up with Bogleheads and, if I can handle it, The Intelligent Investor

</comment></comment></comment></comment><comment><USER10> I would love for us tech folk to dip our toes in idea history, hermeneutics and rhetoric.

We need to think about the way we think and talk about the way we talk. I mean reflect on the state of things, instead of blindly increasing shareholder value. We glorify engagement, but we're arguably glorifying how addictive our creations are.

What if apps maximized for less time spent, like help users just do their work and get on with living life?

When I work on web sites that deliver services I often picture users being in a hurry. People just want to get on with life, not live their lives within my server side rendered single page web app. :)

<comment><USER11> _What if apps maximized for less time spent_

Today I used an automated delivery booth. At the end it reported in big letters: "you took your order in 2 minutes 12 seconds". Made me vividly remember the end-of-level screen in classic Doom. Maybe that's a good idea: make the session time prominently visible, to have an urge to optimize.

<comment><USER12> Like a package locker? Why did it take two minutes?

<comment><USER11> Well, I liked the end-of-level screen, but the rest of UI was not so new-user- friendly, especially not sleepy-new-user-friendly.

About half the time I was staring at the instruction "the box will unlock now" with the box in question still behind a closed door before trying to pull the door harder.

</comment></comment></comment></comment><comment><USER13> The skill I am working on the hardest for 2019 is being able to put down my phone. Or more generally to stop the cycle of mindless addictive loops, checking for comments and upvotes on social media, endlessly refreshing forums, and so on.

I've tried a few times over the past year to make headway on this and haven't felt successful, so I'm redoubling and trying to deconstruct the concept a little, figure out some rules and habits to impose on myself, and so on.

I don't feel confident of success at all, it feels like the defining characteristic of our time is that we're all walking around with the equivalent of a gram of cocaine in our pockets 24/7.

My working theory is that drastic abstinence oriented solutions are the only way forward.

Any success stories welcome.

<comment><USER14> I've had a lot of success via Ulysses contracts: [https://en.wikipedia.org/wiki/Ulysses_pact](https://en.wikipedia.org/wiki/Ulysses_pact)

You're stuck in these loops through little fault of your own. Our environments are engineered to be very addicting; tech products train our brains to crave a quick hit of stimulus at the slightest hint of boredom.

Trying to fight against this with just willpower alone is an uphill battle. Willpower fluctuates throughout the day, and (supposedly) it is a finite resource per unit of time. You may win a few battles, but the strong cues in your environment remain, and will likely snare you next time around.

It's hard to resist the temptations because they are pleasurable and salient rewards in the here and now, in a way that longer-term, more abstract goals (read a book, stop wasting time on junk info-snacking, etc) can never be.

Ulysses contracts bridge this gap by pulling the longer-term, more abstract goals into the here and now, endowing them with an immediate saliency of their own. Now your new habits can fight on the same ground as your old habits.

Examples: the person who, in trying to quit smoking, gave a friend a check for $5k and promised that if she smoked again, she'd have to report herself to her friend, who would then donate that money to the KKK.

Examples of my own: \- I jettisoned caffeine by promising my spouse that for every caffeinated drink I took, I had to give up in proportion something I love dearly (e.g. skip a day of meditation) \- I cut down on online boardgaming by promising a friend that I would only play with him -- and should I play with an online stranger, my friend would receive $5k and proceed to squander it at the poker table. (Making the resulting outcome of your contract breach, something that stings, that is visceral and has an emotional valence to it, it key to making the contracts successful).

It also helps to engineer your environment. Remove the cues and temptations. I've had more mixed success with this. But quitting FB, Linkedin, definitely removed strong loops. (My brain fought like hell against their absence, then after the three week mark, never a peep again. Goes to show the arbitrariness of our cravings)

</comment></comment><comment><USER15> You don't state your programming background but you mentioned C# in previous comments.

I would recommend _machine learning_ as a very useful skill to acquire.

I have to be more specific because "machine learning", "artificial intelligence", and "data science" are really large topics that can encompass difficult math and PhD research.

For application programmers, I think a very realistic subset is using an existing "machine learning toolkit or API" (e.g. Keras in Python) to analyze data and solve problems. You _use_ the machine learning algorithms but don't necessarily write them from scratch. This level of proficiency only requires high-school math. The analogy would be knowing SQL even though one doesn't write b-tree algorithms from scratch or using the "=PMT()" function in MS Excel without deriving the annuity equation from first principles.

I think machine learning concepts (classification, clustering, etc) will become an expected _baseline_ of programmer knowledge just like SQL was 25 years ago. Its usage will become more pervasive and will be utilized by more people that don't have _" data scientist"_ in their job title.

<comment><USER16> I don't mean to imply it's impossible, or throw out some appeal to authority, but dabbling in ML is not going to open doors for you. I worked in and around the field for more than a decade. Companies who are serious about this stuff can sniff a beginner out and they tend to want credentials. It's a deep subject, so that's not terribly uncalled for, and knowing how to throw a classifier together does not in any way mean you're competent and able to solve hard problems.

Not trying to be a downer, just my $0.02. For fun? Sure, go for. For career development? You had better be serious and ready to devote the next 5-10 years. I do not at all agree that ML is going to become a baseline skill.

<comment><USER17> _I don 't mean to imply it's impossible, or throw out some appeal to authority, but dabbling in ML is not going to open doors for you. I worked in and around the field for more than a decade. Companies who are serious about this stuff can sniff a beginner out and they tend to want credentials._

What I think you're missing is that ML is becomeing accessible to organizations WAY outside the sphere you're referring to. In the not-too- distant future, "Bob's Small Engine Repair and Screen Doors" will want to take advantage of ML / Data Science / AI. And it may well be the case that all they need is somebody that can implement Linear Regression or K-Means using SK- Learn, or using a cloud ML API.

And larger organizations will always have room for people with varying levels of skill, especially as demand for the most highly skilled people outstrips the available supply.

 _and knowing how to throw a classifier together does not in any way mean you 're competent and able to solve hard problems._

Not everybody is solving a "hard problem". By way of analogy... if your car has a broken connecting rod, you need to take it to a mechanic who knows how to pull an engine, tear it down, rebuild it from scratch and put everything back together. If you have a bad O2 sensor, that work can be done by somebody much less knowledgeable. If you need the oil changed, that can be done by somebody even less knowledgeable still. Or to use a different analogy, you don't need a neurosurgeon to cut out an ingrown toenail. Use the right person for the job at hand.

</comment></comment></comment><comment><USER18> Organizing.

Not necessarily in your workplace, but sure, that too if you're into it.

Mostly I mean community groups of like-minded folks who stay in touch, remain active and do meaningful things together, like speaking up against bad uses of technology in government and law enforcement. Or training people how to get started in tech. Or hacking something together that could be meaningful for the lives of people in a city.

<comment><USER19> This has been the most satisfying tech-related thing I've done in the last few years.

It's how I've felt most useful outside of my day-job, and also how I've gained a broader perspective on the culture, values, and practices at other companies.

</comment></comment><comment><USER20> Empathy.

The tech giants are having massive scandals because they lack it. Whatever you do, be here for the end user. Think about their lives and make it no worse.

<comment><USER21> [https://www.amazon.com/Against-Empathy-Case-Rational- Compass...](https://www.amazon.com/Against-Empathy-Case-Rational- Compassion/dp/0062339338)

<comment><USER22> That seems similar to the concept of "ruinous empathy". In other words, don't waste your feelings on others, especially if you may have to fire them.

Having been on both sides of that coin, being fired and having to fire others, it's clear to me that reducing the amount of pain is important, even if such an act must be done.

</comment></comment></comment><comment><USER23> Meditation. Being able to direct your attention, to be present in difficult situations, to care about others when it's easier to worry about oneself, and to be willing to see truths that contradict one's self-image. There is much to be gained from this simple practice, and much to be lost from foregoing it.

"the faculty of voluntarily bringing back a wandering attention over and over again is the very root of judgment, character, and will. [...] An education which should improve this faculty would be the education par excellence." \- William James

<comment><USER12> Note also that you can train these useful skills in ways other than extended courses of formal sitting meditation. (Which also often come with a lot of woo attached.)

<comment><USER24> [https://wakingup.com/](https://wakingup.com/) and [https://www.headspace.com/](https://www.headspace.com/) are both woo-free choices I'd recommend.

</comment></comment></comment><comment><USER25> Leadership skills.

Whether or not you need them today or not, whether you want to be in a leadership role soon or not, they are essential for anyone seeking to progress and you can't start too soon.

There are many many ways to approach this and I'll just offer two book titles that I believe would be beneficial.

1\. Start with Why 2\. Extreme Ownership

<comment><USER26> A much faster way to understand the central message of "Start with Why" would be to watch the TEDx talk:

[https://www.youtube.com/watch?v=u4ZoJKF_VuA](https://www.youtube.com/watch?v=u4ZoJKF_VuA)

Is the book worth reading, in addition? I see very mixed reviews.

<comment><USER27> Don't waste your time with the book—it's complete fluff: unoriginal, rambling, repetitious, with faulty reasoning…

</comment></comment></comment><comment><USER28> Financial literacy. I find many of my smart, technology friends don't really have a solid grasp of finances and economics. Something as simple as a six- month cash flow spreadsheet would do wonders for most people. I am trying to instill this in my older children.

<comment><USER29> > I find many of my smart, technology friends don't really have a solid grasp > of finances and economics.

This describes me, unfortunately. I consider myself fairly smart, did well in college, tons of technical skills, but I am -terrible- with money. I keep a 12-month spreadsheet showing income and expenses for every pay period and one showing current debt, but beyond that I know I'm awful about it. A lot of it comes from my parents also being terrible with money and never teaching me saving vs. spending, investing, etc,. I've figured out some of it on my own but I still struggle.

I'm glad to hear you're trying to teach your children better.

<comment><USER30> > I keep a 12-month spreadsheet showing income and expenses for every pay > period and one showing current debt

This means that you are not terrible with money. 90% of practical personal finance can be expressed as follows: expenses < income. The rest is implementation details.

<comment><USER29> That's fair. When I say I'm terrible with money I mean more in the realm of saving vs. spending. I have a small amount in savings for emergencies/cash flow safety but I definitely do not have 6 months worth of expenses set aside or hundreds of thousands of dollars in my 401(k) as some of my peers seem to. Also, if I'm being totally honest my retirement plan is basically to never retire, partly for financial reasons but also because I like working in my current industry and staying busy and don't see that changing.

Part of that comes from being in a high cost-of-living area with a child and student loan debt, but I also know that a part of it is due to the fact that I buy things I don't need way too often.

<comment><USER31> Savers are often finding ways to make inertia work for them. Every penny in my 401k was directed there by my employer. I never saw it in the paycheck, I don't think of it as something I have available to spend. Others might use a bank account they don't have a debit card attached to. Or for debts, might set up an automatic transfer to eventually pay it off, and bury their credit cards in a filing cabinet somewhere.

Some people find luck with budgets. Don't tyrannize yourself - it's OK to carve out some of your budget for buying things you don't need - but you can balance that with letting yourself save some. And budgets don't have to be 100% set in stone - when my friend wanted some replacement computer parts, he cut back on his food budget (by cooking more instead of eating out) for a bit to "afford" it.

I realize this is easier said than done, though!

Even if you never plan to retire, having a rainy day fund / a long runway will help take the stress out of layoffs, and give you more time to find the job you want vs the job you need to pay the bills, etc. - hopefully helping ensure you keep enjoying working in your current industry :)

</comment></comment></comment></comment></comment><comment><USER32> Writing. Clarity, brevity, and expressiveness are all too rare these days, especially in technical writing and presentations. Writing well can greatly improve your thought process and make your message sing.

I'd start by reading Strunk & White, which nicely addresses clarity and brevity, leaving only a source for expressiveness, which is basically storytelling. There I like the writing books by Steven King, Ray Bradbury, and Ursula LeGuin, but many other worthwhile primers of style are (almost) as good.

Then practice writing while critically reading the best works of good writers, carefully observing their techniques, and then stealing them liberally. Ask friends you trust to assess your work and explain what they liked, didn't like, and why.

<comment><USER33> Thanks for the tips. Any other recommendations to improve clarity in writing and speaking? I'm not a native English speaker and I've been looking for ways to improve.

</comment></comment><comment><USER34> Interviewing. I spent about 3-4 months this year working on my interviewing and competitive programming skills via LeetCode, reading The Algorithm Design Manual, and taking classes at Bradfield School of CS in San Francisco. I feel like it's made a world of difference. I know Hacker News tends to hate on programming interviews, but it really pays to be good at them (and trust me, it's a learnable skill). I do agree that the algorithms-and-whiteboard method can be highly problematic, but I've come to firmly believe that the time for criticism is when you're designing the interview for a candidate, not being interviewed.

<comment><USER35> You spent 3-4 months honing your interview skills, that sounds very expensive.

Are you claiming that this practice made you a better programmer overall or just better at interviews?

It isn't just hackernews hating on the current way of doing programming interviews, it's a widespread sentiment in the industry. The current way of doing interviews seems both excessive (requires 2 months of practice) and easily games (with 2 months of practice...). Who is winning from this?

<comment><USER36> > _You spent 3-4 months honing your interview skills, that sounds very > expensive._

Assuming a 25% pay bump, it more or less pays for itself in a year.

Not counting the effect of compounding. Bumps are typically by percent, so every point you chisel out early in your career is valuable.

<comment><USER35> Assuming you couldn't get that job any other way, sure. However, even most Googlers would think that is excessive (even if they did it themselves, most of them would not admit to it).

</comment></comment></comment></comment><comment><USER34> C. I read K&R and did every exercise in it this year, and it really changed how I thought about programming, even in higher level languages. Specifically, I feel like it's made me a lot more considerate about algorithm design and detecting edge cases. More justification: [https://blog.bradfieldcs.com/the- cost-of-forsaking-c-1139864...](https://blog.bradfieldcs.com/the-cost-of- forsaking-c-113986438784)

<comment><USER37> You are not going to get much love here. But you are right.

<comment><USER34> Well then, I'm happy with just your love.

</comment></comment></comment><comment><USER22> I think the electronics and electronics fabrication industry is ripe for major disruption in 2019. The end of copper clad fiberglass boards are in sight, and that will change the way we think about electronics in fabrication.

Electronics is also kind of exciting right now in particular. The open hardware community while in it's infancy still, is growing rapidly. Notably, the ESP32 platform has allowed home brew IoT technology to grow very rapidly as it brings a processor and Wi-fi to a chip for less than $5.

<comment><USER38> > The end of copper clad fiberglass boards are in sight

Where can I read more about that? My google searches have not been fruitful.

<comment><USER22> [https://www.youtube.com/watch?v=Z228xymQYho](https://www.youtube.com/watch?v=Z228xymQYho)

<comment><USER38> interesting. Thanks!

<comment><USER22> The other approach is through a copper ink such as this one: [http://copprint.com/](http://copprint.com/)

<comment><USER39> This looks cool and could be a much easier solution than the aforementioned laser/printing setup. Judging from the website though it doesn't look like they have a product ready to go, is that true, and are there any alternatives? It would be nice if there was a filament I could just plug into my 3D printer and start using :p

<comment><USER22> I think googling "conductive" plus one of "3d filaments" or "t-shirt ink" or "epoxy" or "resin" or "nail polish" or "paint" is a good place to start.

I believe that company will probably sell the ink by the barrel full for industrial fabricators.

</comment></comment></comment></comment></comment></comment></comment><comment><USER40> 1\. Go deeper into the PyTorch ecosystem to be able to work my way through an ARXIV research paper and implement it. 2\. Go deeper into Calculus and Linear Algebra to support my quest to understand the PyTorch implementations better. 3\. Using these newly acquired skills build a better clone of a very popular SAAS offfering that charges an arm and leg for even basic operations and offer it at a deep discount. 4.Learn marketing skills(NOT _Growth hacking_ ) 5\. Learn tech interview skills. Similar to what someone had posted.

</comment><comment><USER41> I am in the middle of a technology pivot - moving away from the on- prem/Microsoft stack to AWS development/Devops/networking and the $cool_kids JavaScript full stack along with Python.

Also adding on Docker/Kubernetes and ElasticSearch.

Finally, I've railed against the need for LeetCode style studying and I haven't had an interview in almost 20 years that has required it, but I guess I will get back to basics and start working through it.

</comment><comment><USER42> Two things I want to focus on are Kubernetes and Golang.

I've played with them in the past, but not spent enough time with them to be confident using them in production.

<comment><USER43> Go is undeniably very useful, just feels like such drudgery actually working with it.

<comment><USER44> Just my 0.02, but I started my primary project in Golang this year (a first for me) and have genuinely enjoyed getting deeper into using the language. Great tools, great community, and a clever language -- what more could you want?

<comment><USER42> In my limited experience so far, I just keep finding out how to do something then wondering why it's so complicated.

Things I could do in Python in ~10 lines, seem to require at least double in Go.

I'll keep learning it though, I'm sure I'll start to see the benefits soon!

</comment></comment></comment></comment><comment><USER45> Clairvoyance will become increasingly important in 2019.

<comment><USER46> Any hands-on MOOC for that out there? ;-)

<comment><USER47> Find a TV show where the protagonist is always right, like _House_. It will teach you all you need to know, and provide a healthy role model.

</comment></comment></comment><comment><USER48> I've made a list of things I'd like to learn soon. These are personally important to me, but based on your circumstances and specializations, it may (or may not) be important for you as well.

1> Learning to learn From my interactions with some of my friends, I've come to realize that I'm pretty bad at learning, or at being focussed and determined enough to put work into it. I'm not sure how I can correct it, but I've decided to learn at least one skill (like playing guitars, skateboarding, etc.) that requires persistence.

2> Calculus. statistics and some neuroscience I'm a PhD student and my work primarily focuses on machine learning applications. However I've come to realize that there are too many AI Engineers and very less AI researchers and computational neuroscientists. I feel it's sad that a lot of people are following the hype-train for deep learning, while there is a third-generation neural network (spiking neural networks) that needs more research. Although this has been around for about a decade, the field is still lacking in terms of research. To even contribute a little bit into the field, I would need more knowledge in calculus, statistics and neuroscience (at the very least, about how neurons work). Even if I end up being unable to do research in the field, I still think calculus and stats are very important, so its a win-win anyway.

3> Psychology. I've had my own battles with anxiety and depression, and one of the things that has helped keep me at bay even when I had suicidal thoughts was my knowledge about mental health. I could tell myself "this is not right, fight it or get help", because of what I've learned about psychology. I believe that learning psychology can help me better understand myself, my thoughts and my yearnings, as well as that it would give me the ability to understand others who are going though similar (or more difficult) circumstances. On the side, learning "persuasive psychology" can probably help with understanding the effects of different marketing tactics, while also maybe help me deal with difficult people. Other things like cognitive behavior therapy and mindfulness are also things I need to learn, but that would require some help from a therapist.

<comment><USER49> 1) If you haven't, take this MOOC: [https://www.coursera.org/learn/learning- how-to-learn](https://www.coursera.org/learn/learning-how-to-learn)

2) Machine learning and computational neuroscience are two different fields. You really don't need to understand neuroscience to contribute meaningfully to machine learning.

You'd be much better served by studying mathematics like real/complex/functional analysis, abstract algebra, probability, etc.

3) If you've struggled with suicidal thoughts, anxiety, and depression, don't bother waiting to see a therapist. Finding a therapist should be the first thing on your list.

</comment></comment><comment><USER50> I've just begun my dive into games programming (coming from a web dev background) which has taught me to think about problems from a data-driven perspective, and how to write performant code.

It's also a great way to learn how complex programs are structured and iterated upon. Games have so many layers of abstractions which are fun to explore :) I'm following the Handmade Hero series which aims to create a production-quality game from scratch - [https://handmadehero.org/](https://handmadehero.org/) \- building and engine and all.

</comment><comment><USER51> 1\. Learn Math required for ML/AI.

2\. Learn to write deep content.

3\. Learn to manage personal finances

4\. Learn to invest

5\. Learn to draw

6\. Learn to sing

7\. Learn to have proper 8 hours of sleep

8\. Attempt to build a profitable startup again

<comment><USER52> Can you go into more detail on what you mean by "write deep content"?

I think number 8 is probably mutually exclusive with most of the others, especially 7!

<comment><USER51> I write on Medium. But, most of the content I write only touches the surface of a topic. It doesn't go deep into the topic like some of the excellent articles upvoted on hackernews.

<comment><USER40> Could you post a link to your medium posts or atleast divulge your medium username so that I can look your articles up?

<comment><USER51> [https://medium.com/@heyfebin](https://medium.com/@heyfebin) I have written a lot of bullshit due to ignorance. However, some articles turned out to be decent. Here are a few.

[https://hackernoon.com/popular-use-cases-of-blockchain- techn...](https://hackernoon.com/popular-use-cases-of-blockchain-technology- you-need-to-know-df4e1905d373)

[https://hackernoon.com/the-impatient-programmers-guide-to- le...](https://hackernoon.com/the-impatient-programmers-guide-to- learning-e2960d0516a)

[https://hackernoon.com/how-to-build-it-fast-and-cheap- cffbd2...](https://hackernoon.com/how-to-build-it-fast-and-cheap-cffbd21881bc)

[https://hackernoon.com/3-popular-types-of-blockchains-you- ne...](https://hackernoon.com/3-popular-types-of-blockchains-you-need-to- know-7a5b98ee545a)

[https://medium.com/wethinkideas/how-to-validate-if-your- idea...](https://medium.com/wethinkideas/how-to-validate-if-your-ideas-need-a- blockchain-e1a4846d16fd)

[https://hackernoon.com/what-happens-when-you-combine- blockch...](https://hackernoon.com/what-happens-when-you-combine-blockchain- and-education-d533ef6d4862)

<comment><USER53> Agreed with the other commenter: don't be too hard on yourself. At first glance, these are pretty solid and nothing to be ashamed of.

A few things that have helped me tremendously as a writer:

1\. Volume. There really is something to the idea that going for quantity over quality eventually results in higher quantity _and_ quality. The more you write (and read), the better you get at it. Also, no one churns out consistently great stuff. You may need to write dozens of mediocre pieces to find a great one.

2\. Consider hiring an experienced editor to go over a few of your posts. You'll learn a lot in the process.

3\. There's a need for "shallow" writing too. You might want to write a WaitByWhy-style 25,000 word post on blockchain, but 1) that's incredibly hard to do, and 2) there's only so many people who want to read that. The audience of people who might want to read a 800 word post on the subject is a lot bigger, and writing a short-but-informative post is its own skill.

4\. Why do you want to write? In 10 years, what do you hope to look back and have gotten out of it?

Anyway, keep up the good work :)

</comment></comment></comment></comment></comment></comment><comment><USER54> Our industry is behind when it comes to understanding race and racism. Proof: Slack's mistake this last week.

In 2019, learn about institutional racism and why we have to undo it. Take a course from the People's Institute. If you haven't learned about this in depth before, be prepared to learn a lot and have your preconceived notions challenged.

[https://www.pisab.org/](https://www.pisab.org/)

I promise you'll walk away with new perspectives and discover a whole new area you can grow and make a difference in.

<comment><USER55> I'm glad someone has mentioned this here. It's something our industry is really not taking seriously at all and needs more people pushing for.

As you mentioned company decisions have real racial effects, and those decisions are often made by homogeneous teams that lack diversity and perspective.

If anyone wants a recommendation for reading to build up some knowledge about these issues I would recommend reading "White Fragility" by Robin DiAngelo. She does a great job breaking down lots of common misunderstandings white people have about race, and why those misunderstandings are created in the first place.

<comment><USER53> I start with a pretty strong bias against any philosophy that counts skepticism of itself as proof of its own existence. It's like a religion that says you know it's true because other people will claim it's not true.

<comment><USER54> I'm not sure what you mean by this comment. How does it relate to the discussion on racial equity?

</comment></comment></comment></comment><comment><USER56> Public speaking. It's a skill I developed later in life, and could have used very frequently had I had previously. The power of oration to influence people is quite amazing.

</comment><comment><USER57> Learning Azure Dev Ops is always good as it makes it possible to publish your own Ideas in a scalable environment that is affordable. Microsoft Learn is pretty neat as they will take you through the basics for free, just take your time. You also get nifty badges from Microsoft for completing different learning modules. They are very much making it look like a nice page you can attach to a resume.

</comment><comment><USER58> Negotiation skills.

[https://abe-winter.github.io/2018/12/20/stalin.html](https://abe- winter.github.io/2018/12/20/stalin.html)

[http://www.jamesaltucher.com/2014/05/the-ultimate-cheat- shee...](http://www.jamesaltucher.com/2014/05/the-ultimate-cheat-sheet-to- become-a-great-negotiator/)

[http://time.com/38796/6-hostage-negotiation-techniques- that-...](http://time.com/38796/6-hostage-negotiation-techniques-that-will- get-you-what-you-want/)

[https://hbr.org/2016/07/how-to-negotiate-with-a- liar](https://hbr.org/2016/07/how-to-negotiate-with-a-liar)

[https://hbr.org/2014/06/how-to-negotiate-with-someone- more-p...](https://hbr.org/2014/06/how-to-negotiate-with-someone-more- powerful-than-you)

[https://www.fastcompany.com/3001209/negotiate-car- salesman-5...](https://www.fastcompany.com/3001209/negotiate-car- salesman-5-tactics-help-you-win-every-time)

[https://www.theatlantic.com/business/archive/2015/04/ask- a-h...](https://www.theatlantic.com/business/archive/2015/04/ask-a-hostage- negotiator-whats-the-best-way-to-talk-about-a-raise/391943)

[https://bothsidesofthetable.com/when-should-you-allow- exclus...](https://bothsidesofthetable.com/when-should-you-allow-exclusivity- in-deals-15b37534cfba#.zick9tdk7)

[http://www.bakadesuyo.com/2014/11/how-to-deal-with- difficult...](http://www.bakadesuyo.com/2014/11/how-to-deal-with-difficult- people/)

[https://mindhacks.com/2014/05/26/the-best-way-to-win-an- argu...](https://mindhacks.com/2014/05/26/the-best-way-to-win-an-argument/)

<comment><USER59> This is fantastic.

</comment></comment><comment><USER60> This year I'm going to build a small CNC mill and learn to operate it correctly. That and dance cha to at least a competent social level.

</comment><comment><USER61> Learning more Math.

Contrary to popular belief that you don't need math to do "programming", you actually do need math to progress in said field. Whether you like it or not, Math will be a limitation when it comes to acquiring new knowledge in the computer field. For example, I've been wanting to do Machine Learning for awhile and it just so happened that you need a lot of Math to fully understand it. I've been reading the book "Machine Learning for Humans" and that book is amazing and can't recommend it enough. [0] They explain complex concepts in ever so simple sentences, but reading through the book, you see formulas and equations that are intimidating to the person that is not used to reading them. I would assume that a math major would have a different and opposite experience.

So yes, more math.

[0]: [https://medium.com/machine-learning-for- humans](https://medium.com/machine-learning-for-humans)

</comment><comment><USER62> Sales. You will have a different job every day and meet different people until the end of this world.

</comment><comment><USER63> Do something that would be orthogonal to the current sum of your life experiences.

<comment><USER64> This!

If you have time off, do something risky that you wouldn't do normally. Why? Because soon enough you'll likely be back in the normal swing of things and unable to take that risk.

Examples:

Work on a farm

Do the Appalachian trail (or similar)

Take the train across Australia

Learn to ride a motorcycle

Learn to play guitar

Etc Etc

<comment><USER65> I worked on an organic farm this past year for two weeks (through WWOOF) and it was probably the best two weeks of the year for me. It really opened my eyes to how food is produced and just how much humans have changed the landscape of the planet - well worth the effort

<comment><USER64> I spent 6 months at home and abroad travelling and WWOOFed for 3 weeks of it. Those 3 weeks had the biggest impact and resonate through my life even today, years later.

</comment></comment></comment></comment><comment><USER66> Postgres, Rust, and Angular is the current long term support tech stack. Start with Heroku and some AWS S3 buckets to store media assets.

UX research methods. Then finding projects/teams you want to work on.

Personally? Thinking about writing a book on SMT solvers, extending jHipster to other languages, doing some high performance SAAS offerings, publishing my semigroup research, my serverless complie optimzation toolchain, and my LLVM based operating system call taint annotation for C++/Rust to get Haskell style IO annotations.

</comment><comment><USER67> A little on the noes perhaps but try learning how to teach. I took some time to learn how to teach English many years ago and it was a great perception changer.

</comment><comment><USER68> Investing is a great skill to have. Starting with understanding different asset types, their histories, modern portfolio theory, diversification, tail risks of all assets, how central banks and other banks work. I believe the market can be beaten, but you have to have more financial knowledge than the average retail investor.

<comment><USER69> While this might be true, I think a more reasonable skill to acquire would be a better grasp of financial literacy.

People spend an incredible amount of time accumulating capital, but many spend hardly any time learning to properly manage it, relying instead on financial advisers selling commission driven products.

I think that it is often the mentality of trying to "beat the markets" that lead people to make poor financial decisions, when in fact the majority of the population would benefit from taking the time to obtain a fundamental understanding of their own personal finances.

<comment><USER68> We can say both are important skillsets (two sides of the same coin), so I won't argue with you :)

Also maybe beating the market is not that important, but I was making a mistake of accumulating cash without investing it when I was younger. I didn't have spending problems though as I was frugal in my life (though being too frugal was a problem in itself as well).

</comment></comment></comment><comment><USER70> a personal skill which improves life over time, e.g. take up meditation, tai chi, yoga, regular fitness or similar

If planning on going freelance/solo develop presentation skills. (reading up on stuff like [https://www.amazon.com/gp/product/0321668790?ie=UTF8&tag=gar...](https://www.amazon.com/gp/product/0321668790?ie=UTF8&tag=garrreynoldsc-20&linkCode=xm2&camp=1789&creativeASIN=0321668790))

For technical skills, really depends on where your interest and skills are ... look for longterm trends and learn stuff that matches your personality/interests/skills

</comment><comment><USER71> Not a list of "whats", exactly; more like a list of "whys": [https://80000hours.org/](https://80000hours.org/)

</comment><comment><USER72> Ideally gain skills that will weather the potential recession that should start mid-year? Not sure what those will be exactly, but perhaps others have an idea...

<comment><USER73> Networking and interpersonal skills. I was around when the .COM bubble burst and all your technical skills that made you easy signup bonuses a year earlier were worth nothing. But knowing somebody who trusted you would give you the job.

</comment></comment><comment><USER74> I've been getting pretty psyched on Machine Learning / Tensorflow. I plan on diving deeper into this world in 2019

</comment><comment><USER75> I hesitate answering because I am not really a software engineer, but I think a strong understanding of philosophy will probably help. I see a lot of other comments in this thread recommending empathy, organizing, hermeneutics, etc. Most of that goes under the admittedly large umbrella of philosophy.

Software engineering/programming is somewhat distinct in most fields because you can by some abstraction recreate and scale a thought with high fidelity. In the past, we could transfer or spread thoughts through books or other media. This might've created some sort of mimetic action on the consumer of the media, but it would probably be some corruption of the initial thought of the author. Consider for example, Marx claiming that "what is certain is that I myself am not a Marxist" (not that I am intending to start a political discussion, just to point out that sometimes artists distance themselves from the art). By contrast, a computer program is a thought that is enacted with precision each time it is called. Which is what makes the content of program so philosophically important. Ethics of course becomes paramount because speech is now action in a much more salient way than it ever was before. But the questions of values and of aesthetics should also be considered.

You will probably have to carve out your own fields of study within philosophy and how it relates to computer science beyond the usual accelerationism, trolley car problems, digital physics, etc, but I think it will be well worth it if I'm just giving my two cents here.

<comment><USER76> Philosophy and functional programming are my most important skills. Ontology and logic are super useful for a programmer.

</comment></comment><comment><USER77> Have less girlfriends

<comment><USER78> said no programmer ever ;)

</comment></comment><comment><USER79> Brown-nosing

<comment><USER41> While that could be stated better, Organizational Theory 101 is that there are three levers of power - relationship, expert, and role in that order. After ignoring relationship power for years, that has helped me get ahead more than anything.

<comment><USER58> The 48 Rules of Power should be on your bookshelf as well. (This not entirely in jest.)

</comment></comment></comment><comment><USER80> Cloud, machine learning, AI. If you haven't gotten your Ph.D. in machine learning by now, you're at considerable risk of being replaced by an offshore dev who can do your job for pennies on the dollar. As for languages, the future of computing is JavaScript (except for the lowest and most performance- sensitive layers, over which the Rust Evangelism Strike Force has an unshakable claim).

Nontechnical skills: practice vipassana and observe a strict, austere hipster diet (preferably plant-based) if you want to not die. Learn how to sustainably live off-grid with zero emissions if you want to not kill the planet. And for God's sake, delete your FANG accounts. All of them.

<comment><USER40> "As for languages, the future of computing is JavaScript (except for the lowest and most performance-sensitive layers, over which the Rust Evangelism Strike Force has an unshakable claim". You mentioned AI/ML both of which are deeply embedded in Python ecosystem though R is still the choice of academia. JS is and will continue to be a client only Tech stack for ML because of it's lack of a NUMPy like Math library. Between friends you should also add Python to your arsenal of languages to learn.

<comment><USER80> I have a feeling that will all change once the data community gets wind of TypeScript.</comment></comment></comment>


Comcast says it will not sell customer browsing histories - <AUTHOR> http://www.reuters.com/article/us-usa-fcc-data-idUSKBN1722D6?il=0 <comment><USER3> Which is why they lobbied for the bill to be passed, right!

It'll be just like the FBI v Apple saga. "We need the courts and Congress to give us some very specific powers."

"Wow, thanks for doing that! We see people are pretty mad for legitimate reasons. Don't worry, we are not going to use those powers we asked for. We're only going to use it to go after BAD GUYS. Trust us!"

<comment><USER4> It was weasel worded. "Individual data" won't be sold.

<comment><USER5> And perhaps they will not "sell it".

They will probably buy out an ad-company (if they don't own a couple already) and the will keep the data for themselves ;)

<comment><USER6> Or the third party ad company will sell it. either way it's not going to be pleasant.

</comment></comment></comment></comment><comment><USER7> It seems to me that my internet connection is the same as a telephone connection. The telephone company cannot listen in on my calls to see if I mention "aspirin" then try to sell me aspirin. The same should go for my internet connection. The content should be completely private, including the metadata such as browsing history.

<comment><USER8> Even with that analogy, the telephone company can see which numbers you dial, and when. It can make inferences based on that. Did you call an escort service at night and an STD clinic in the morning? Do you regularly call televangelist donation hotline numbers? Do you get a lot of calls from recruiters? The phone company knows all of that stuff - it's one of the issues with the NSA's collection of "just metadata".

<comment><USER9> This is one reason phone companies are regulated; are they allowed to make such inferences? Are they allowed to do anything with such inferences?

<comment><USER10> The answers should be yes and yes, for simple reasons - It's utterly unenforcible otherwise, and corporations need a significant amount of those inferences for normal operation. People in town A are calling people in town B a lot? Maybe they need a direct line or to upgrade their infrastructure to handle it.

Obviously, there's caveats; but for the most part those should be covered by other antidiscrimination laws, not telecom specific legislation. Telling that you call your rabbi once a week might give them clear signal that you're jewish, but they should be prevented from discriminating against you because you're jewish, and that should be enough reason to prevent them from fishing through their records to see who's a jew.

<comment><USER11> > It's utterly unenforcible otherwise...

and

> ...but they should be prevented from discriminating against you because > you're jewish

You can't have it both ways. Either a business can be regulated or it can't.

And why does it have to be the business itself only must be prevented from discrimination? It's certainly possible for a single employee to send likely names of Jews to hate groups, even if the business doesn't condone his behavior.

<comment><USER10> I'll admit; I am trying to have it both ways. The way I see it is - <USER2> things are very, very hard to find and prosecute. Therefore, we should spend the time finding and prosecuting only the most egregious offenses - And accept that since we'll never prosecute more minor offenses, they might as well be legal.

<comment><USER11> Or, you can just make the data private by default and assume any violations are by default "irregular".

We do this already with health care providers, attorneys, crediting agencies, banks, etc.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I'm I the only person that thinks that Comcast is saying this as a way to calm people down now. Why did they not speak up before the vote. I suspect that within a few years, once the noise quiets, they'll have a thriving business doing just what they said they would not do.

<comment><USER13> Apparently, Thomas Jefferson once said, "Once a generation or so, we need a rebellion and the folks who participate should be punished, but not too harshly". I think he was getting at the point of how easily people take their freedoms for granted, and this apathy in turn takes away all the freedoms which were earned with great difficulty in the first place.

Maybe we have reached a point where we need to permit folks (immunity against legal action) to release internal data/documents of BigTech, provided it unequivocally proves that such public statements the companies make are false.

<comment><USER14> do you mean 'the tree of liberty must be refreshed from time to time with the blood of patriots and tyrants'

</comment></comment></comment><comment><USER15> They do specifically say "individual" browser history. Perhaps, they do sell aggregate data which I personally am not for or against.

As long as they stick to this policy, I will appreciate it given their history of not showing compassion for individual customers.

Update: it does specifically mention aggregate data.

<comment><USER16> Nobody in the advertising space at least _literally_ sells browsing histories. They usually sell inferred tags of which interest groups or demographics you fit into, selected from massive proprietary taxonomies. So in the literal sense of the word, Comcast can be both technically right and still do exactly what they always intended to do.

<comment><USER17> With respect, this sounds a little like when Snowden broke, and the NSA said "besides, it's just metadata."

Before I blocked ads, ads would follow me around. The information to do that was collected, and possibly sold, probably not by my ISP. It wasn't "my browser history," but it was as a result of my browsing activity.

This news has thrown around "your browsing history," which is at once sensationalist (because, as you point out, no one is selling _that_ ) and obfuscating, because someone _is_ collecting and selling data that comes from browsing activity.

<comment><USER18> Ads following you around (retargeting) can sometimes be creepy, but no one had to buy and sell your browsing history to get there.

It is entirely a by-product of the fact that ad slots are auctioned off while a page loads, and when someone wins that auction, they can run JavaScript in your browser.

So if they cookie you on their website, then they get to run JavaScript from winning an ad auction on a different site, they can still see their cookies and know it is "you".

Not trying to downplay any privacy implications here, but ad networks and sites where ads are placed don't actually need any of your browsing history to make this work.

(I simplified this somewhat by ignoring the relationship between the actual advertisers and retargeting providers, but that is just more of an economies of scale/arbitrage thing.)

<comment><USER19> Not an adtech guy... do they actually buy ad slots just hoping that they manage to get someone they can retarget? Or do they know who you are pre- auction so they can bid higher? Just shooting from the hip I would guess the latter is more likely, which means the ad networks would have to have a list of user id, page/product pairs, which sounds a lot like your web history to me.

<comment><USER16> They know when they bid. The easiest way to think of it is that they check your cookies and have a few milliseconds to decide how much to bid. Whoever wins pays and gets the slot.

They aren't using your web history specifically, because it's actually pretty hard to do a good job inferring things about you in the few milliseconds you have to make a bid. Instead, there are multi-billion dollar companies including Google and Facebook who do the intetpreting for you and sort of offer a taxonomy of audience groups for you to choose from.

So the cookie check at bid time is usually asking one of these middlemen data processing companies for their read on you, which is derived from your browsing history or your Facebook post contents or even what you write in Gmail.

Only thing I'd add is that there are many heuristics for deciding how valuable you are as a pair of eyes. Retargeting is about getting an ad to follow you around the internet. But there's also geographical and demographic targeting, which depends on the advertiser having a hypothesis about which target audience is worth engaging.

<comment><USER20> Where can I read more about this? I'm writing a paper.

<comment><USER16> There is plenty of material online explaining how all of this works, but you will have a lot of trouble finding primary sources from the companies themselves because they hide it behind "contact us for more information" gateways.

That said, here are a few terms to search as a starting point:

* Ad exchange

* Real time bidding

* Search retargeting

* Data management platform

* Demand side platform

Here are some product names:

* Doubleclick Bid Manager

* Google tag manager

* Google AdX

* Adobe Media Optimizer

And some companies to look up:

* AppNexus

* Bluekai

* Excelate

* Celtra

Finally, I'd set up your own AdWords and Facebook advertiser accounts to play around.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Why do they need to sell browsing histories? There are numerous way to profit without actually selling history:

1) Come buy our trueTarget analytic service - add a keyword search and out comes the name of every one interested in say "Evening college" (Comcast also has the address on file obviously)

2) Political observers - This Zipcode has the most mentions for "Climate change hoax"

3) Porn/Medical/<other potentially embarrassing stuff> : Too many services here -

None of this sells individual browsing history yet which of these would be certainly illegal? This is a complete red herring to distract from the Republicans completely disgraceful sell out to big business.

If not illegal which of these would be ok under "we do not see your browsing history"?

<comment><USER22> "Por que no los dos?"

They can do all of those things and in addition sell your history to make more money.

</comment></comment><comment><USER23> So Comcast spent over $1m[0] in donations and more on lobbying for this specific piece of legislation only to turn around and say they won't take advantage of it?

They've just released this statement today because everyone is so upset, they're going bide their time, wait for this to blow over and then quietly start selling more and more invasive customer information. You don't spend millions on a law you have no intention of utilising.

They bring up their "targeted ad network" which you can "opt out" of in the same blog post. I wonder what "nonsensitive" information they'll be providing their ad partners about you? And what is stopping Ad Partners from cross- referencing several ad networks?

[0] [http://resistancereport.com/class-war/comcast-congress- brows...](http://resistancereport.com/class-war/comcast-congress-browser- history/)

<comment><USER24> This. No one seems to be putting these facts together. It's a puff piece to distract from their intentions, which unfortunately is working very well.

I am astonished that a company can lobby successfully in the name of "consumer interest" when ranked the worst in customer satisfaction (for years).

<comment><USER25> Not to mention its a giant monopoly that has very little regulation that matters when you have no choice but to use them. Theres only a few outcomes this will play out to in my mind. Either things will get so bad theyll be split up and/or regulated as a public utility and such, or there will be some sort of big revolution / revolt / underground market (think tor, mesh networks, etc.), OR the populace will be made more docile than they are now big brother style until one of the first two options eventually comes to pass in the wheel of life.

</comment></comment></comment><comment><USER26> I work for a small satellite ISP, ViaSat (d/b/a Exede). Part of my job is data security specifically for this type of information. We've had it in our privacy policy since Day 1 back in 2012 that we don't give or sell this data to anyone who doesn't actually need it, and certainly not to advertisers. One of the things that makes me proud to work here.

[https://www.exede.com/documents/master/exede-subscriber- priv...](https://www.exede.com/documents/master/exede-subscriber-privacy- policy.pdf)

</comment><comment><USER27> Did they promise not to analyze my browser history to figure out what kind of consumer I am, how much money I have, whether I have kids, etc, and then rent access to that information through a targeted ad delivery service?

Gonna guess no. This seems like an empty promise designed to fool people who just don't understand how "selling browser history" is actually implemented.

<comment><USER28> What they did not say is the _how they will_ monetize the data. There is no "if", they are a business and they/their ilk just bought the reg/dereg to make their business more money. Full stop.

</comment></comment><comment><USER29> I want it, in writing, as part of my contract (with spelled out liability and fiduciary damages), or the claim is not worth the bytes transmitted over the internet to make this statement.

</comment><comment><USER30> "We do not sell our broadband customers' individual web browsing history. We did not do it before the FCC's rules were adopted, and we have no plans to do so."

He didn't say "we won't". He said "we aren't currently" which means "we're keeping the option open but we're trying to sound good right now".

<comment><USER31> And he qualified it with "individual" browsing history, and "3rd parties". I'm sure they aggregate it, and they own NBC and Universal.

</comment></comment><comment><USER32> Shot in the dark: their infrastructure isn't set up for it yet, so they may as well take the high road for now.

<comment><USER33> Different shot in the dark: the largest home internet provider in the US finds it far more profitable to use the data for internal projects.

<comment><USER34> This. Why sell the raw materials when you can sell the finished product? That's where the value add is.

<comment><USER32> What prevents them from doing both?

<comment><USER34> Economics. The have a monopoly on this data. If they sell the raw data, they are necessarily equipping a competitor. Or they can sell the high level insights that will presumably have a larger profit margin.

<comment><USER32> What are they doing with the data that requires explicit access?

<comment><USER35> Targeted advertising. One of them (I forget which) was MITM adverts into pages.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> ... for now.

A promise by a for-profit company is hilariously useless unless they bake it into a contract. The leadership have an obligation to shareholders to break promises if it improves profitability.

<comment><USER37> > The leadership have an obligation to shareholders to break promises if it > improves profitability.

Officers of a corporation have a responsibility to act in good faith for the best interest of its members. But that can include acting in long-term best interests too.

Contrary to what you may believe, no one will indict Comcast leadership for not harvest and selling info.

Also, remember "good faith". E.g. MS shareholders can't indict leadership for Windows 8 ;)

<comment><USER38> Morality has naught to do with it. Economics dictate that shareholders will dump Comcast for more profitable companies if they feel Comcast is no longer attractive enough, or if comcast is able to generate additional revenue by selling ads, then reward by buying more and driving up its price

</comment></comment></comment><comment><USER39> Hah.

They'll sell it one way or another -- it's too good of a revenue stream to pass up, provided you're legally allowed to pursue it.

<comment><USER40> They will not sell it now! but when the hubub blows over they will then change "rules" to sell it without saying a word.

<comment><USER31> Like their data caps. A while ago I saw a progress bar on my account page. It had a caption: "For informational purposes only" and was a data usage bar out of ~300GB.

News picked this up and Comcast said: "No, we aren't doing data caps at this time".

Months later, they formally rolled out data caps of 300GB.

</comment></comment></comment><comment><USER41> ... for now. Once the news cycle ends, Comcast will be one of the first companies to sell this information and make tons of money. Verizon is already there[1].

[1]: [https://www.engadget.com/2017/03/31/eff-verizon-will- install...](https://www.engadget.com/2017/03/31/eff-verizon-will-install- spyware-on-all-its-android-phones/)

</comment><comment><USER42> So I'm just supposed to take their word for it? If there's one company which I absolutely do not trust as a consumer, it's Comcast.

</comment><comment><USER43> After many years of frustration and disgust, Ive been pretty happy with comcast in the last couple years. Reputation matters. Hopefully they keep it up.

<comment><USER44> I'm guessing sometime in the last couple years they got some competition in your area.

</comment></comment><comment><USER45> Comcast also quotes grossly unrealistic bandwidth ratings on their service packages, and makes laughable claims about the availability of tech support and field techs. Comcast says all kinds of stuff.

</comment><comment><USER46> "But we'll keep that option right here on the table..."

/s

<comment><USER15> Where does it say that?

Maybe those in control of ISPs realize that they have no individual protection from this practice, unlike other shady practices like inaccurate billing and poor customer service, and genuinely have no interest in doing so.

Update: I'm not asking sarcastically and my hope is obviously full of optimism.

<comment><USER47> > Where does it say that?

As long as it remains lawful for them to change their minds, they don't need to say that.

</comment></comment></comment><comment><USER48> Can someone explain to me why there is no Federal regulation requiring the ISP, and anyone else collecting data on us, to provide full disclosure to the customer whose data is being collected? Also, why are there no laws requiring an audit process on erroneous data?

In America, the credit reporting agencies are required to provide a free detailed report annually and there is a legally-mandated dispute process in place for false/erroneous data. Why don't we have the same protections/process for metadata collection?

Instead of expecting data-collecting companies to police themselves, we must insist on regulation requiring free, full disclosure of all data collected and a legal process to have false/erroneous data collection challenged and removed.

The biggest danger is not that they collect this information, but that there is no AUDIT PROCESS to correct false information.

<comment><USER49> Corruption? Lobbying? Regulatory capture? Influence peddling? Crony capitalism?

I'm not really sure what answer you're looking for here. The basic answer is that the system is corrupt and the interests of big corporations are heard much louder than the interests of individual constituents who don't have as many dollars to throw around capitol hill.

<comment><USER48> The reality is: privacy is no longer possible in a connected world. So, rather than worrying about collection/privacy. Maybe, the best use of our energy is best-spent trying to pass laws that standardize disclosure to the customer and the mandating of an audit process...?

<comment><USER50> Here is your disclosure: Everything you do on the Internet is recorded and sold.

Satisfied?

</comment></comment></comment></comment><comment><USER51> Maybe they will lower the data caps and then ask you if you are willing to sell your data in exchange for more data...

</comment><comment><USER52> Reading through all the comments, it seems they could play with the wording and sell aggregate data.

The end result of all this is that the data is sold to some company that is either the end company or some intermediate company.

From that you get some creepy ad emailed, physically mailed, or you get a call on your cell phone about Solar panels and a trip to the Bahamas.

It would ideal to have a list of the end company that delivers this creep so consumers as a group to make an informed choice if they wish to do business with companies taking part in this.

</comment><comment><USER53> This whole debacle is an incredible opportunity for any small ISP upstart. It's a shame that it's so difficult to build an ISP in the current market due to federal and state regulations that the big telecoms lobbied for.

If people had alternatives which touted privacy, security, speed, price, and had the right network backbone there would be a deluge of customers migrating away from Comcast, AT&T, Verizon, etc.

<comment><USER54> You underestimate the cost of the physical infrastructure to be an "ISP upstart".

<comment><USER25> Not of its made a public utility or whatever, infrastructure seized or whatever it is they would need to do to like what was done with telephone lines. Unless you are referring to the current state of affairs.

<comment><USER54> I'm referring to the idea of a "small ISP upstart". A public utility approach is an entirely different thing with different problems. The physical infrastructure is still expensive.

</comment></comment></comment></comment><comment><USER55> In other news, WhatsApp said their mission is about building a company that is not about ads. We got suckered into it thinking it's pay-for-use app.

</comment><comment><USER56> What they're going to build is the ultimate undeletable tracking cookie. That's what this is all about. They want in on that ad money.

<comment><USER57> >"What they have been after forever is the ultimate undeletable tracking cookie"

Can you elaborate? What is this undeletable tracking cookie?

<comment><USER56> The network itself will track everywhere you go so it's like a tracking cookie you can't delete.

<comment><USER57> I see, "The network is _the_ cookie."

</comment></comment></comment></comment><comment><USER58> If I browse on https only, if websites were to use CDNs IP addresses that are used by many different sites, what could Comcast track from me?

They could see my DNS requests, which I believe are in clear, even if I use Google's name servers.

They would know the sites I go to, but not the pages/bookmarks...

If name resolutions were encrypted, we would be good, or ?

<comment><USER59> This is a good visualization of what is shown when using HTTPS: [https://www.eff.org/pages/tor-and-https](https://www.eff.org/pages/tor-and- https)

</comment></comment><comment><USER60> Its too late for talk like that. I've shown my friends and family how to use a VPN, and explained why it is so important. Eventually I'll roll one myself that we all use. And maybe, just maybe we can all put an end to this evil if we each act rationally.

<comment><USER50> VPN can sell your traffic data too

<comment><USER61> And the VPN's ISP.

</comment></comment></comment><comment><USER62> Charitable interpretation: Comcast thinks that being the one ISP not to sell your browser history will be a market differentiator.

Uncharitable interpretation: Comcast is a content provider in addition to an ISP. Their interest is in using the data themselves rather than selling it.

</comment><comment><USER63> I know I should be cynical, but as a Comcast customer I appreciate the gesture. These days I'll take what I can get, and if private companies are the only ones to even half heartedly act in the benefit of ordinary people so be it.

<comment><USER64> This is super pedantic, but it can be confusing to call Comcast a "private company", which implies they are privately owned (which they are not, they are NASDAQ:CMCSA). The proper term is a "private sector" company. Minor nomenclature nitpick, just trying to keep everyone informed and make sure that the terms "Privately Owned" and "Private Sector" don't get conflated.

</comment></comment><comment><USER65> Assuming every site is using https I'm not sure how they would be able to make money off of this with web based advertising since you can't inject ads. Does anyone know how else they could make money?

<comment><USER66> Good old fashioned junk mail, background check services, and consumer research?

Even if they keep their literal word and don't sell your actual history, and you use SSL so they can't see _specific content_ , they can certainly make money by identifying traffic _profiles_ by domains/times/frequencies/etc.

</comment></comment><comment><USER67> Someone please provide context, what happened in the last week that I missed?

<comment><USER68> [https://www.eff.org/deeplinks/2017/03/congress-sides- cable-a...](https://www.eff.org/deeplinks/2017/03/congress-sides-cable-and- telephone-industry)

</comment></comment><comment><USER69> Of course they won't. This is all about changing the model for delivering ads. Does no one see the link between this, net neutrality, and the boycott?

</comment><comment><USER70> April fools

</comment><comment><USER71> > said Gerard Lewis, Comcast's chief privacy officer.

I didn't know Chief Privacy Officers were a thing. When did this start?

<comment><USER72> When people started complaining about internet privacy.

But remember, the Chief Human Resources Officer historically isn't on the side of employees. I'm of the view point that the CPO (*) isn't on the side of consumers. But it looks good to have one.

(Sorry to all of the Chief Petty Officers)

</comment></comment><comment><USER73> Not sell, just rent / lease / give to partners / share / trade / exploit.

</comment><comment><USER74> And Trump will drain the swamp.

<comment><USER35> We all knew this was coming, but it's somehow still a shock.

<comment><USER74> I wanted to believe. I really, really did. I thought "he hasn't shut up about it, let's give him a chance. Maybe _I_ have my blinders on."

I digress. Anyway, lest Comcast be like Trump.

</comment></comment></comment><comment><USER75> uneducated people here. obama pushed the flawed rule in just before leaving office just to evoke this type hysteria. the way things are now is how they have been forever.

</comment><comment><USER76> How many times do we need to be fooled? We've seen enough of corporations behaving badly and doing the exact opposite of what they claim. What reasons do we have to believe they are telling the truth?

</comment><comment><USER77> Yeah.. I trust you, thats my VPN is already in place.

</comment><comment><USER78> Oh yes they will...

</comment><comment><USER79> Society does not function on the honor system.

</comment><comment><USER80> Until they decide to sell it. And tell no one.

</comment><comment><USER68> This was intended to release tomorrow.

</comment><comment><USER81> ...until they choose otherwise, when there is less attention paid to the matter.

</comment><comment><USER82> too corrupt didn't read.

burn them all down and bathe in their ashes.

<comment><USER83> Please don't do this here.

</comment></comment><comment><USER84> Because I'm about to believe anything a corporation or company says on the Internet...</comment>


WebFinger - <AUTHOR> http://code.google.com/p/webfinger/

<comment><USER2> I think the last point, authenticated metadata, is the most interesting.

In fact, I think it's how web sites like Facebook should have been designed. Rather than "handing over" personal information, each site should receive binary blobs identified only by purpose (e.g. "E-mail address", "photo #3 of gallery 2"). The data could be a copy, an entry in some public registry, or a URL. Facebook can then decide when it wants to send this information to the web browser (e.g. when someone tries to view your photo gallery), and the _only_ way to actually render the blob is with an appropriate decryption key on the client side. The encoding could include other trust factors, such as expiration dates that would make the images impossible to view even with a key.

<comment><USER3> I have cooked up something like that in house, using a faux "Virtual Private Database" implemented in the application layer. You can look at Postgres' Viel project or Oracle's VPDB functionality to see record and column level fine- grained authorization. My system implements a flat RBAC system in Lisp and I will be implementing OAuth as the inter-app authentication module. That way a user of our site can grant fine-grained access to an asset of theirs, with the ability to grant read/write/delete permissions, and expiration by time or times accessed.

An elaborate piece of pain though.

</comment></comment><comment><USER4> Back in the day you could finger Linus Torvalds to check for the most recent linux kernel version:

" __ _8\. Keeping track of current releases

Important new releases, programs, and ports are usually announced in comp.os.linux.announce. finger firstname.lastname@example.com or finger @linux.cs.helsinki.fi to get some information about the current kernel._ __"

<comment><USER5>
         $ finger firstname.lastname@example.com
        [kernel.org]
        Trying 188.8.131.52...
        finger: connect: Connection refused
        Trying 188.8.131.52...
        The latest stable version of the Linux kernel is:           22.214.171.124
        The latest prepatch for the stable Linux kernel tree is:    2.6.31-rc6
        The latest 2.4 version of the Linux kernel is:              22.214.171.124
        The latest 2.2 version of the Linux kernel is:              2.2.26
        The latest prepatch for the 2.2 Linux kernel tree is:       2.2.27-rc2
        The latest -mm patch to the stable Linux kernels is:        2.6.28-rc2-mm1

</comment></comment><comment><USER6> This would be much more exciting if it was JSON. I'm not sure why new web- related standards still use XML.

<comment><USER3> As someone just rolling out an internal XML service, it's mainly because JSON hasn't caught on with the corporate developers. Try to bring it up in a conference call without having half of the parties misunderstand it as "A guy named Jason will do the data feed part of the project for us".

<comment><USER7> He, hehe, hehehe. I've been on that conference call.

</comment></comment></comment><comment><USER8> Why do we make things so hard?

GET mailto:firstname.lastname@example.com HTTP/1.1

301 Moved Location: <http://example.com/users/username>

(forgive the HTTP mistakes)

<comment><USER9> that will be HTTP/1.3

<comment><USER8> No. It's a valid URL. Why would we require a new protocol version?

<comment><USER10> Umm, because that valid URL uses "mailto" protocol, which doesn't support "GET" requests as you described?

<comment><USER11> Actually, it uses HTTP with "mailto" as the username and "username" as the password.

<comment><USER7> That's not part of HTTP 1.1, just a popular convention for URLs carried over from Telnet/FTP, see: <http://www.w3.org/Addressing/rfc1738.txt>

<comment><USER8> Where, specifically, RFC 2616 does the spec say you must specify a http URI?

5.1.2 just specifies that it's a RequestURI and does not further define it.

3.2 refers you to RFC 2396, the URI spec, which includes mailto.

It's a valid URI and you are allowed to ask for it.

<comment><USER7> _5.1.2 just specifies that it's a RequestURI and does not further define it._

I'm not sure if I understand. The one I'm looking at further defines it as:

        Request-URI    = "*" | absoluteURI | abs_path | authority

Edit: ah, of which, absoluteURI refers to 3.2.1, which references RFC2396, which includes mailto.

Still, doesn't include user:password@domain, though :-P

Src: <http://www.ietf.org/rfc/rfc2616.txt>

<comment><USER8> user:password@domain is a browser convention, not part of a URL, like I said.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Amherst's webserver has had finger symlinked into cgi-bin since I was there. In the olden days, when Amherst's on-campus social network still exported a finger interface (it grew out of .plans on a VAX), you could actually use it to read world-readable .plans off the web. It doesn't seem to work anymore though; my guess is that one too many people got fingered by someone who didn't like them and forwarded incriminating stuff to their boss or something.

It's a trivial BASH one-liner to actually expose finger over the web: drop 'finger $QUERY_STRING' into your cgi-bin.

</comment><comment><USER13> I'd love to see this up and running, but I'm trying to wrap my head around the adoption process. For example Twitter recently shut down their API for finding users by email address citing spam concerns.

What's in it for the people running the servers who'll need to support this?

<comment><USER14> This is decentralized. Someone could try to centralize it (see: the large number of large OpenID providers that aren't consumers), but starting out with something that decentralized means it's an uphill battle for the centralizers to do anything evil with the centralization. Who deploys it and who doesn't will depend on who decides it's a net benefit.

</comment></comment><comment><USER15> I'm sure the guys at Google have thought about this, but how will this affect the spam situation?

Spam didn't exist when the original finger protocol was implemented.

<comment><USER16> That was my first thought too.

Probably if it wasn't for spam, we wouldn't need a lot of the services we use nowadays (mainly as filters).

</comment></comment><comment><USER17> I had a similar idea a year ago so I registered finget.com . Never got to actually do any work on it.

</comment><comment><USER18> Yeah, and WebIRC = Google Wawe.

</comment><comment><USER19> How about associating each individual with a unique number and creating a universal identity database controlled by individuals (to protect private data) and not by any corporation?

<http://humanidproject.blogspot.com/>

<comment><USER19> I am sorry that this comment was pulled down. I posted in earnest because the subject is interesting to me. I would like to ask why to suggest that a personal id number controlled by the person and not by the corporate owners of the id database is a bad comment? In fact, this article just posted to HN a few hours ago [http://blog.modernmechanix.com/2008/06/05/the-computer- data-...](http://blog.modernmechanix.com/2008/06/05/the-computer-data-bank- will-it-kill-your-freedom) suggests that in the US, the social security number become a unique identifier in "data banks" starting in the 60s. So, to me it appears that it is legitimate to discuss if the social security number, email or a new personal id number owned by the person ought to be chosen as the new id standard for the modern post-internet human individual. Please correct, if I don't understand the issue here. Thanks.

</comment></comment><comment><USER20> Stroke of genius</comment>


Show HN: Chat anonymously during Zoom lectures - <AUTHOR> https://zoomchat.co <comment><USER2> What's the purpose of chatting anonymously?

<comment><AUTHOR> I built this primarily because I was bored in a Zoom lecture and wanted to chat with other people in the class. There were a couple of small group chats that started spontaneously but I thought it would be more fun if the entire class could be involved. (It doesn't have to be anonymous but otherwise the professor or TFs could see who isn't paying attention in class!)

<comment><USER3> As a prof (fortunately one who is not lecturing this year) I always wanted an easy method for students to anonymously ask questions. Maybe they will push it onto the students!</comment></comment></comment>