Debugging Go code (a status report) - <AUTHOR> http://blog.golang.org/2010/11/debugging-go-code-status-report.html

<comment><USER2> One of the first things you will find out, if you attempt to write a new programming language and then use it for actual production work, is how much users of that language will miss simple, taken-for-granted things like debuggers.

Creating a programming language by itself isn't all that hard. The real work is actually making it usable with good error messages and stack traces, tools like debuggers and profilers, editor support (if you're into that sort of thing), and documentation and specs. All of that (especially good editor support) is easily an order of magnitude more work than a parser and a compiler, and that doesn't even consider libraries you might need to write if you can't interoperate with an established language. (Spoken from personal experience, for what it's worth).

<comment><USER3> but the real hard thing is to make a language people want to use. If you did that the rest will be done by the comunity but even then it a lot of work.

One of there reasons new langauges are often targeting the JVM or the CLR. You can reuse most of the tools and libs with less work.

<comment><USER2> Exactly. Funny story there . . . we started our JVM language as interpreted, more or less, and ended up having to write our own not-so-great debugger for it. We decided to compile it down to native java bytecode precisely so we could take advantage of all the native Java tools that work with standard Java-like classes, such as debuggers, profilers, and even just stack traces. That approach doesn't work so well for languages that don't match Java relatively closely (i.e. stack traces in Closure are, I understand, pretty horrific), but for our language it's turned out pretty well.

</comment></comment></comment><comment><USER4>
        When it comes to debugging, nothing beats a few strategic print statements to inspect variables or a well-placed panic to obtain a stack trace.

I respectfully disagree with this statement.

Beyond simple issues a debugger is invaluable for following program flow and inspecting variable/memory states.

And why does "missing .. patience" mean you are more likely to use a debugger over a print statement?

<comment><USER5> In the last decade, I think I've pulled out a debugger only a handful of times. Apparently many people use them, but for me, understanding my code, writing tests, and tossing in some printfs has always been the way. I don't have a problem with debuggers, butfor me it is usually about having theories and testing them. This testing can happen in a debugger or in a print statement or in a test, but a test always seems like the best idea, and a print statement usually seems more straightforward to me than trying to stop and inspect my program while it is running.

<comment><USER6> You use this "my" word a lot. I personally use debuggers for debugging other people's code, code that's possibly decades old, that doesn't have enough modularity for good unit tests, and whose bugs in any case often only show up in complex multithreaded integration scenarios. GDB only acquired multiprocessing debugging support this year; to my mind it's pretty primitive.

</comment></comment></comment><comment><USER7> How many people use debuggers like GDB day-to-day? I've found them useful when trapped in a corner, but typically I debug with the source in hand.

Anyone got any good debugging war stories?

<comment><USER8> I would assert that it is pure folly to attempt to build a non-trivial application in a compiled language without the assistance of a competent debugger. You simply cannot iterate quickly enough through the debugging loop of "Form theory" -> "Test theory" if you have to wait a minute for a build to complete each time. Unit tests help, but will never get you all the way there (good luck tracking down a leak with unit tests).

<comment><USER3> the repl is your friend even in compiled languages like haskell.

<comment><USER9> A proper REPL can do a lot of the same stuff you'd use a debugger for, and a whole lot more. With a nice REPL you'll do just fine without a debugger.

<comment><USER10> Why not use a REPL _and_ a good debugger? It's a nice combination.

</comment></comment></comment></comment></comment><comment><USER11> I've always used debuggers as a faster form of print statements. It faster to inspect several values using the debugger than it is to write and then delete a bunch of print statements.

However print statements become my go-to tool when debugging multithreaded code.</comment>


American Inequality in Six Charts - <AUTHOR> http://www.newyorker.com/online/blogs/johncassidy/2013/11/inequality-and-growth-what-do-we-know.html

<comment><USER2> Not a fan of CAP but that is something everyone should see. Way to similar to the peak of 1928.</comment>


Ask HN: Not smart enough to a programmer, where to take my life from here? - <AUTHOR> So I've been working in the industry for a while, and as a hobbyist for a good bit of time before that. Currently my career have consisted of writing and maintaining simple CRUD apps, and to be honest I hate it. Its mind numbingly boring and I certainly dont want to spend my life doing that. I've tried to branch out  into a number of different things, but nothing sticks. I fail to understand, fail to recognize patterns, am too slow to understand simple concepts and never retain anything. Occasionally understand the individual concepts of something but then her completely lost when they're all combined in some applied method. Thi bis true not just for CS and software development, but other technical and mathematical subjects I've attempted to learn.
The typical suggestions for people in my situation dont interest me. These seem to be roles adjacent to what I do now and often, but closer to business then tech. These might include becoming a business analyst, technical salesman, fast tracking to management, etc. These are sound even worse to me than what I do now, and given the choice I'd just stick with development.
Now I'd likely have to return to some sort of schooling and I'm young enough to do it (I guess), but given my intellectual limitation and my stubbornness on what I take interest in, I'm not sure what options I have. <comment><USER3> I may be off base here, but it sounds to me like you just aren't interested in the subjects. One of the biggest factors to learning is how much interest you have. There are tricks you can do to get yourself more interested, but it does take a fair amount of work and isn't always effective. But if you wonder why sometimes we can remember silly details or whole complicated plotlines from stories but can't remember a simple math formula, a lot of it is actually your interest levels. Your brain prioritizes the stories because it is interesting, you can relate, and thus form strong neural connections. It is much harder to do that with a math equation that is fairly abstract and not in constant use.

So I would start at finding which thing interests you the most. What meets the job criteria that you are looking for BUT also excites you? Then focus on moving in that direction.

<comment><USER4> Yeah, I guess the real question here is "do you love programming?" If you do you can make it work, it's a matter of not giving up and instead tweaking your learning system, practicing more and better, etc. If you don't you need to find another area.

Programming is a very demanding trade, and I don't think you can do it just for the paycheck, you need to have some degree of passion for it. If someone disagrees with me about this I'd love to hear different takes.

<comment><USER5> > Programming is a very demanding trade, and I don't think you can do it just > for the paycheck, you need to have some degree of passion for it. If someone > disagrees with me about this I'd love to hear different takes.

There are more people writing programs as a daily grind for a paycheck than as passionate artisans practicing their craft, and it's only getting more so as "CS" becomes an increasingly blue-collar field.

What you said strikes me as a rather dated view of programming. It was certainly more true back when just to operate a computer required significant resources, skill, and perseverance. It used to be such a horribly tedious, time-consuming chore to program them, that it often required something like passionate interest to stick it through.

<comment><USER6> Not sure what you're disagreeing with. I don't think the person you're responding to thinks it's /impossible to get a gig as a programmer for a while, but that it's not going to yield a fulfilling career if one is merely chasing a paycheck. I think that's about right.

</comment></comment></comment></comment><comment><USER7> My intuition is that you'd get more out of therapy than a career change right now. This sounds more like burnout or a lack of interest to me. But framing it as a lack of intelligence says a lot about how you view yourself, which could make a career change much harder than it needs to be.

<comment><USER8> I'd like to elaborate on this, and strongly urge OP to see a psychiatrist.

The answer to your dilemma might be a new career. It might be cognitive behavioral therapy. It also might be an SSRI or modafinil.

I have my guesses but they aren't at all interesting, the point is to get in touch with a professional who can help you figure this out.

What you're experiencing isn't normal, or inevitable, and it doesn't mean you're not intelligent. Although hey, you might not be, how would I know? I think that's the least likely explanation out of all of them.

<comment><USER9> How modafinil might help? As treatment of potential undiagnosed ADHD?

<comment><USER8> Yeah, distinct possibility IMHO.

</comment></comment></comment></comment><comment><USER10> My advice in this situation is:

1\. Keep your job for now. This is a good time to have a paycheck. Think of it as chores to pay the mortgage. Maybe you'll get a dishwasher later, but for now the dishes gotta get washed.

2\. Find a psychiatric or clinical psychologist and have yourself evaluated for mental illness. This is actually really important. Unlike physical problems where it's sometimes obvious ("I can't read the billboard by the road, I probably need glasses."), mental issues can make subjective impressions unreliable or misleading.

> I fail to understand, fail to recognize patterns, am too slow to understand > simple concepts and never retain anything. Occasionally understand the > individual concepts of something but then her completely lost when they're > all combined

Too slow compared to what? Fail to recognize based on how many exposures? Taken together this feels like a learning disability that makes you slow to internalize material in the standard way, and you're not building up the mastery of the fundamentals enough before trying to combine them. Again, psychological evaluation is the way to go.

Also, don't look for work where you love it all the time. No one's going to pay you for that. What you're after is work that you can do and feel some basic satisfaction when you put it down for the day instead of being cast into a downward spiral by it.

You also are allowed to have other stuff that provides the meaning and enrichment for their lives. In fact, you should.

</comment><comment><USER11> It's possible, though I don't know you, that you're too smart to be a programmer.

And maybe "programmer" is the problem. Be a _____ who can also code. Zed Shaw said it best in the final pages of learn python the hard way. Programming as a career is rarely fulfilling to anyone. But being a teacher/doctor/librarian/entrepreneur/warehouse worker/farmer/etc. that can code is a super power.

I'm basically talking to myself with this pep talk so I appreciate you bringing it up but.. let's both go find the thing that we like and apply programming to that thing!

<comment><USER12> This. My own suspicion is that you the OP is highly intelligent and recognizes all of these weaknesses due to his own intelligence rather than a lack of it.

I can relate to some of these things in a way. When I was 15 I tried to teach myself TC++. I got hung up on pointers and thought that I just wasn't smart enough to understand them. Many years later I had somebody who helped me understand pointers and I realized that I just wasn't interested in learning past that point.

I had kicked myself many times for not following through on learning TC++. I thought that I was too dumb to be a programmer. Turns out I just don't want to be a programmer! Sure I can bash script pretty well and I can knock together some PHP to do something if I absolutely have to or even a little python, but I only get out those tools when I neede them to accomplish a primary goal.

It turns out that I'm quite good at writing, teaching, and identifying areas where specific tools can help the people who I am teaching. So I write, teach, and build tools as needed.

And just because I do them in bash or do them poorly in Python doesn't mean that I'm bad at programming. It just means it's not where my strengths are and that I focus on what I am good at and love doing.

I guess what I'm really trying to say is that you aren't a bad programmer. You're just better and more interested in something else and you need to figure out what that thing is and pursue it and put programming on the back burner as a superpower as was mentioned in the previous comment above this one.

<comment><USER13> On the other hand though, could you say that someone's interests are to a degree dictated by their capabilities? It seems to me like the distinguishing factor between someone who is interested in a challenging field vs. someone who is not, is that the person interested often understands the material to a degree that maybe the other person is unable to. For them studying and doing the work may take substantially less effort and thus their interest continues, even when things become difficult.

This is probably why many programmers are uninterested in your chosen field of teaching.

TLDR, isn't "disinterest" often a cognitive bias driven by some subconscious estimation that we're unable to do something?

I think this affects everyone, a lot.

<comment><USER11> Yes, and! Things are often less black and white than this. The more I dig into what I think I want, the more influences I find. I want to impress my parents, I want to provide a super safe and comfortable life for my partner, I want people to notice the company I work for and smile and think I'm smart. As I take the time to pull those things apart, and wow does it take time, the call to teach and write is quieter but maybe truer? I don't know. I have to test it out.

TL;DR I think disinterest is driven by a combination of capability and soul AND (sometimes very loud) outside influences.

</comment></comment></comment></comment><comment><USER14> This sounds like depression to me. You're having trouble finding activities that interest you and feeling pessimistic about the future. It's easy to get stuck thinking that everything is hopeless or you're going to feel like this forever.

Try taking some time off to decompress and talking to a psychologist. It's a slow process and it can be very challenging but with time you can start getting excited about new challenges again.

<comment><USER15> +1. Depression affects 25% adults at some point. I am not talking about 'sadness' but a more profound condition whose symptoms are subtle at first, but pervasive and protean. And get a CT of your brain as well.

</comment></comment><comment><USER16> Yeah the good news is that if you find CRUD apps mind numbing then you are definitely smart enough to be a programmer.

Sooo... right now thanks to covid19 basically every class at your local community college is online try a GIS class, it's a little bit python, a little bit SQL, a little bit data science-y and sometimes you go fly a drone around.

Or you know something else, the point is there's plenty of fields that aren't explicitly tech adjacent that the ability to program at all gives you a somewhere between a head start and superpowers.

BUT also I'm with the other guys too, maybe talk to a therapist.

</comment><comment><USER17> Do you actually suck at this or do you have a great case of impostor syndrome (perhaps a pattern you're failing to recognize?)? You might be surprised at where you'd rank compared to the general population.

As far as retaining things, there's an awful lot of stuff where you don't need to remember the details - knowing something exists lets you go find details when needed, and the more useful items will stick with you after you start using them regularly. I'll use trees as an example - there are more different kinds of trees and ways to implement them than you can shake a stick at, but most programmers aren't going to need to implement any of them ever. Do you need to remember details about balancing, etc? Probably not.

<comment><USER18> > knowing something exists lets you go find details when needed

Thank you for this, it's a nice concise way to explain that even the experienced use Google all of the time.

</comment></comment><comment><USER19> I am something you could consider smart; wrote first program as 6 years old, gave talks at conferences, worked on crypto-concesus algos, now I do research oriented consulting.

Some points:

\- pattern recognition is basic brain function and everyone has it

\- you need PERFECT health to be smart; check testosterone, sleep, weight, nofap, exercise etc.. 90% people have brain fog for some stupid fixable reason

\- there is nothing wrong with CRUD app maintenance if you make good money. Challenge is nice, but gets old very fast, unless it is a hobby.

\- avoid relationship until your life is in order. Huge time sink and ruins concentration.

\- stop reading crap (politics, twitter... )

<comment><USER20> There is nothing in this comment that strikes me as real. Not only was it completely unnecessarily to condescendingly talk about how allegedly smart you are, the points you gave sound like they came straight out of a wantrepreneur youtuber's vlog.

<comment><USER19> I think OP struggles with concentration, this could fix that.

Not sure what was condescending. And I am smart, my mother had me tested ;)

<comment><USER21> As it was said elsewhere, you present yourself as the stupid person version of a smart person. Maybe it is true, maybe it is not.

</comment></comment></comment></comment><comment><USER22> Diagnosis: bored.

See other comments on interest. I'll address your thoughts. You're speaking casually, but your exaggerations can be dangerous when you're vulnerable:

> nothing sticks.

Not literally true that "nothing" sticks, since you later mention things you recall.

> I fail to understand, fail to recognize patterns

There's partial understanding and levels of understanding. You can notice progress by comparing your present understanding with before.

> am too slow to understand simple concepts

Here you admit you do gain understanding, but dismiss it. What is the threshold for fast enough?

> and never retain anything.

Again, not literally true that "nothing" is retained.

> Occasionally understand the individual concepts of something but then her > completely lost when they're all combined in some applied method.

Again, you admit understanding, but dismiss it because of difficulty in the next step. Also, "completely" lost is not literally true.

\---

These casual exaggerations are dangerous when you start to believe them, because they aren't literally true. Changing them won't solve the problem completely, but you'll see it more clearly and that helps to solve it! Advice:

      notice what you _have_
      retained/understood/applied
      (especially in contrast with before)

[But the real problem is boredom]

</comment><comment><USER23> The only fun I've ever had programming was making video games.

You don't have to be super smart to make games and I don't think you even have to like them. It's more the rich visual feedback that makes it fun. A game engine is like a giant virtual playground for your code.

And in video games there isn't really a "right way" to do anything. There are always weird problems to solve and hacky solutions are fun and even expected. It's the only programming where I've had some laugh out loud moments, like "why are the trees inside out and spinning around?"

There are some great game dev postmortems where you learn about the beautiful horrors going on behind the scenes to make a vision a reality. Game dev is forgiving like that. From the book _3D Math Primer for Graphics and Game Development_ : "If it looks right, it is right".

</comment><comment><USER24> Hard to offer any kind of constructive advice without some indication of your personality or what you _do_ enjoy.

I'm skeptical of the idea that you're not smart enough. In my experience, becoming a good programmer requires some relatively low-threshold capacity for logical thinking combined with a tenacity for debugging and understanding how things work. Being a genius who picks up math and CS concepts quickly is far from required.

If you struggle with patterns and applications but are bored by simple CRUD apps then it may be the case that you just don't like programming that much. That would certainly make it very difficult to learn and retain anything.

Overall though, you sound more depressed than anything. If that is the case then it colors all perception of what you enjoy or don't enjoy, and probably should be addressed directly before making any major career decisions.

</comment><comment><USER25> We only live once! Respect yourself and your feelings! Don't waste your energy listening to opinions of how you are supposed to feel, they are not you! People love to throw the buzz word around as if coding is the best thing ever...! The end users don't care! Employeers don't care! The people you create this things for don't care about how you feel! Find something that makes you happy and has a meaning in yours and other people's life! Beware that a lot of the people that tells you to take a break and that you're just tired, are not that sympathetic when you'd try to get back to the job market, where they'd ask you to go through 5 stage interviews and totally waste your time for no other reason then their own bullshit job. Be careful!

If you do want to try later on and do something related with tech, not necessarily as a coder, have in mind the bizarre startup world! A lot of people get funding for simple business ideas! So try to live a fulfilling life and if you ever want to comeback do your own business and create a nice work environment for your team!

</comment><comment><USER26> I don't think you are supposed to "find your dream job" or whatever. Work is just a slice of life, and I think you should try to find something outside work that makes you happy (art? forming a serious relationship and devoting yourself to it? anything, really). If you are so lucky that you work in IT, you don't have to do much more than the minimum to live a relatively comfortable life, and be able to concentrate on things outside of your work. That world is much bigger, and you surely can find something that makes you feel fulfilled.

</comment><comment><USER27> It's interesting to me that you say you did software development as a hobbyist before you made it your job. So presumably there was something that interested you enough to pursue it in your spare time. It would be interesting to know more about what does interest you, as opposed to the things that don't. Maybe you could provide more info?

I agree with commentators who say software development can be a terrible job if you aren't really interested in it. I knew a lot of young consultants at Accenture when I worked there in the early 90s who hated the programming roles they were expected to do for the first couple of years. But most of them were not from comp sci backgrounds, and wanted to move into management consulting roles as quickly as possible.

Based on your comments about having trouble learning and generalizing, it sounds like you might be happier in a more process-oriented role. Or maybe you would be happier in a role that was more focused on personal interaction?

</comment><comment><USER28> Even CRUD apps can have fun stuff: APIs, live GUI updates for everyone else logged in when a user makes a change, security (both designing and pentesting), building your own toolbox for accelerating development of the next one, usage monitoring etc. Some of these will impress clients and make your superior recognize you as a talent. This will make it more fun and open up new possibilities all by itself.

</comment><comment><USER29> just to add in -

you're not slow, you're probably average. When you start working, all the things you can learn in a weekend quickly evaporate within 1-2 years of your working career. The only things left to learn are those that take 3 months or more.

These things take the right mindset to learn - continuing to think about them, tackle them, ignoring failure and coming back to it over and over because that's the nature of 3 month learning projects.

You may think you're stupid but you're probably average for a programmer. I do agree with the rest of the thread, you're lacking the spark - the thing that other people have that allows them to persist despite the challenge to figure it out.

Take a personality test, like MBTI, and use it to figure out your preferences. Introverted Feelers are usually smart enough (NFs) to do programming but hate it, it could describe yourself.

<comment><USER30> MBTI is pseudoscience without any empirical backing: [https://en.wikipedia.org/wiki/Myers%E2%80%93Briggs_Type_Indi...](https://en.wikipedia.org/wiki/Myers%E2%80%93Briggs_Type_Indicator)

Really the only personality test with any strong empirical backing is the Big Five test: [https://en.wikipedia.org/wiki/Big_Five_personality_traits](https://en.wikipedia.org/wiki/Big_Five_personality_traits)

All other personality tests reduce down to the Big Five when you try to test for co variance.

<comment><USER29> The exercise is about finding a language that you can use to describe your shared values. For that use case MBTI is perfectly fine.

</comment></comment></comment><comment><USER31> Sadly most people aren't particularly enthusiastic about their work, which is probably a huge waste of human potential, but it's not an unusual situation to be working just to pay the bills. Paying bills is good.

It's probably a good idea to keep your day job while you develop interests outside of work and investigate other job options. School can be good, but it can also saddle you with expensive student loans that take several decades to pay off.

</comment><comment><USER32> HI, have you been screened for ADHD/ADD? A number of the things you've said sound familiar to me. ADHD (generally) gets worse as you get older.

</comment><comment><USER33> Do art. Find passion. Do passion.

Or,

Find love. Have children. Be a great parent.

Coding is just a tool, a means to an end, not a career. If you don't like using a keyboard/multimeter/hammer, don't work in an area that requires a keyboard/multimeter/hammer.

Painting and parenting can both be very rewarding, and make you very happy over a lifetime.

As for money, enough to get by, _can_ be enough. Life doesn't have to be about ways to get money.

<comment><USER34> yes, i tend to agree with the passion-part of this.

use your free time to do things that excite you, things that motivate you.

a job is a job. you need it to pay the bills. if you can do a job that pays well and you can work in reasonable comfort, appreciate it. there a terrible jobs out there, be glad you don't have to do those.

but you also need passion to avoid getting burned out. if you can't find it in your job, find it in your life, in your hobbies, in your relations.

your job should just be a means to an end. it should support your private life: food, a roof over your head, security and your passions.

maybe visit a therapist to work out what triggers and excites you.

a change of scenery (changing your job) might help for a short while, but unless you work on the underlying issue, the problem will catch up and follow you around.

</comment></comment><comment><USER35> I had friends drop out of CS degree or IT career - they each went on to become successful at health & safety, physical education, statistics and formal project management. Theres limitless options but narrowing down your next move is the hard part... what aspects of work do you enjoy and perhaps go from there? dont kick yourself over choosing the wrong path, hindsight is 20:20

</comment><comment><USER36> I am a software engineer. At least, that is what my job title says. However, I would also find coding CRUD apps boring as hell. What I really am is a problem solver. Currently, I solve problems using code. I think the trick is to get into a company that has problems that interest you. Personally, I work with hardware and embedded systems.

As for understanding new tools and techniques, I'm never able to do it unless I have a real problem that I'm working on that requires it. Toy problems and coding exercises won't work because the problem is contrived and isn't a real problem that needs fixing. Math, especially, is a wonderful tool, but I'm not interested in it for its own sake. This doesn't mean you are stupid.

So, figure out what you want to be doing and figure out who's doing it. If you are young enough to return to schooling, you are probably young enough to get an entry level position if your skills are a bit weak in the required area.

</comment><comment><USER37> I started with programming as hobbyist. I never actually studied it (beside some basics which I already known when they teach me that).

I ended up writing CRUDs, various data converters and fixing bizzare bugs in legacy software. Slowly I lost interest in programming and I discovered that I am no longer interested in new tech. I completely missed javascript hype train for example.

But it's OK. It's just a job. I have other hobbies/friends to feel fullfilled.

Also - I keep programming as hobby. I just more interested WHAT I am doing instead HOW I am doing that (which is just usually easiest path).

For example - I really started digging into audio programming - <USER2> coding my own VSTs in Csound/Cabbage. That's really interesting stuff and also sometimes very challenging, because it involves math which I am generally struggling with (I had diagnosed discalculia back at the school).

For example: I just spend two days (!) inventing this little piece of code: f(k,n) = (k * n) - (k-1)

</comment><comment><USER38> How long have you been programming professionally? Do you think you are giving yourself a fair assessment based on how long you have been working in the industry? I ask to rule out the possibility that you are being hard on yourself or maybe have imposter syndrom. you say you find crud app building easy, this is not a statement which the general non-it population could say. Did you attend courses before working (university, college etc.)? Do you have good on the job mentorship or are you trying to figure everything out yourself? Do you have a person who is more senior who can give you honest constructive feedback and guidance?

If youve already made the decision you are leaving programming... Can you think of things you have enjoyed about your career to date (i.e. coding, testing, designing, meeting people etc)? and what was it that steered you towards the career in the first place?

</comment><comment><USER39> Have you looked into computer networking and other IT-type topics? I've often found that networking specifically uses different skills and is suited for different people than programming. It's more about systems, rather than logic, which (personally) I find more in-tune with my mental makeup.

<comment><AUTHOR> I actually have thought about it, but I'm not sure if I could stand starting at the bottom of those fields, plus the salaries cap much lower.

</comment></comment><comment><USER40> Do you enjoy creating stuff with the tools?

I've been interested in programming since I was a teen, but it was always the applied side - I enjoy building stuff, and the tools are just like any other tools you'd use.

I don't find the tools or methods particularly interesting, not nearly interesting enough to devote a huge part of my time to study them extensively.

And it was with that realization that I understood the following: I will never become a good computer scientist, theoretical or practical.

So my solution was simple: Do not chase, or focus jobs which require a passion or deep interest in computer science, because:

1) There are far more highly intelligent and highly passionate programmers out there, that are genuinely interested in the theory and technicalities. I will never be able to compete with those.

2) I will burn out spending my days on something which does not naturally interest me (enough to do it for min. 8 hours a day)

3) My energy should be directed at being more productive, where I can actually show good results. We have a finite amount of time to do something, so don't waste it.

All these realizations came during college. Some of my classmates would read books on compilers in their spare time, because they simply could not wait for the classes (which we had a year later).

Compilers are fascinating on a high level, but not fascinating enough for me to read whole books on them.

Furthermore - to me, proof of concept (and novelty) is more fascinating than the optimal solution.

There are lots of jobs for both types, you just need to find out what really tickles you, and follow that lead. As others have said, bridging fields ("businessman" and "developer", etc.) can be really rewarding.

Think of something that really interests you; Anything! And then try to find out how you can enhance that with development. Do it because it's fun, not because it's something you feel like forcing yourself to do.

<comment><USER41> I found myself in the same boat recently, and looking for jobs/roles which is half business, half tech. I looked into "Solutions Engineer", but a bit afraid I loose my ability to code.

What did you pursue? Any tips?

<comment><USER40> I pursued data science, It's a good blend of tech and domain knowledge.

The domain is what interests me, and the technical part is what makes it enjoyable. The amount of programming is probably one tenth (if even that) of what a regular software engineer would write, but there's always room for new ideas. Lately I've found myself writing more and more code for automation and other auxiliary stuff.

In the end you want to apply technical and scientific methods to the data, guided by your domain expertise, and deliver results to someone.

For some, it's nothing more than cleaning excel spreadsheets and generating reports, for others it's building and using state of the art machine learning methods on extremely large data sets - so not all data science jobs are alike from a technical standpoint.

</comment></comment></comment><comment><USER42> You are smart enough to be a programmer, you just have misconceptions about what programmers are supposed to be.

All that really matters is if you can build things that work.

People who can do the above will get paid, can even be CTOs.

So what if Google wouldn't want you as a programmer, that's for a particular type of person.

</comment><comment><USER43> Firm but necessary feedback:

When I read this I see me me me me me me me me me.

Think of things in terms of how you are helping others instead of so selfishly about yourself. The world doesn't exist to serve you. What are you expecting, some amazing job to fall down from the sky that is all about you and everything you want? Doesn't work that way! You need some career capital. What value can you provide in exchange for these things you are asking for? If you want an interesting and fun career you need to be skilled enough at something to counter balance the value you receive.

More concretely: there is a fantastic book called "So Good They Can't Ignore You" by Cal Newport. Give that a read and it will provide guidance and a new framework with which to see the world.

</comment><comment><USER44> I would be grateful you have a job; most software engineering jobs pay relatively well. Be grateful for this pay.

Find something outside of work that excites you if work doesn't excite you. Work isn't everything. If the actual thing you do at work doesn't excite you, try making friends at work who do excite you.

If writing simple CRUD apps is boring, it sounds like you actually have some aptitude afterall. If it's boring, try to find the sweet spot of challenge with capability. It sounds like you are capable of more than what you are doing now, so gravitate in that direction and move from there.

</comment><comment><USER45> What subject excites you that doing a course on Coursera or Udemy, for example, doesn't make you feel like, "Groan, 6 hours a week x 6 weeks?!"? Do that course + talk on the Coursera forum with other students and reach out to folks in the industry who'd value seeing that certification on your resume / LinkedIn.

About feelings: you have to feel your feelings, but productivity is difficult if you're always feeling down. Don't beat up yourself, which adds a 2nd layer of sadness to an already sad situation. Get enough sleep and work on things that excite you.

</comment><comment><USER46> I'm going to buck the trend here and say that if intelligence is approximately normally distributed, there will always be some proportion of the population that doesn't meet the minimum in the necessary dimensions.

The point is not to demoralize someone, but to prevent them from spending a lifetime of angst and anguish in a field that is not totally beyond their grasp but always just far enough above their head to keep them questioning themselves constantly.

OP, it sounds like you've given this a shot and it didn't quite stick. Maybe it's time to try something else. For what it's worth, I felt the same for much of my education, studying physics and passing curved tests but never really feeling like I understood mathematics - and it's a terrible feeling to be somewhere where everyone presumes that anyone is capable of anything while you're here struggling.

I did manage to complete my degree but I ended up specializing in something where I could leverage the mathematical intuition I developed without having to fake my way through actual math, and I'm fairly successful. Perhaps you can do something similar.

The way the entire thread bends over backwards to find something "wrong" with OP, some external, fixable explanation, is counterproductive. These sorts of expectations are good to have but if they are not grounded in the reality of individual ability, they can lead to serious mental health problems.

</comment><comment><USER47> Fear of change keeps you locked into misery. If at all possible take steps to get a new vision of your future and change careers, cos your current vision of your future is sounding pretty bleak (at least from your perspective).

If you need encouragement, try and find others stories of career change, and how they did it - there are plenty of them out there.... From [https://www.ambisie.com/st/kerry-kitzelman](https://www.ambisie.com/st/kerry- kitzelman) :

"Some jobs can be like golden handcuffs. They pay well but you feel trapped by them. You are afraid to step out and make a change in case you wind up worse than before. Some jobs are like cardboard handcuffs, they pay nothing but you still allow yourself to be trapped by them because of fear of the unknown.

Making a decision to change may indeed result in your fears being realised, but facing that fear gives you the courage to overcome.

Since the day I decided to cut the umbilical cord to poorly paid employment, I have not been afraid to apply for any position I think I might enjoy and be rewarded for. It sometimes means steep learning curves and working harder than anyone else on your team, especially those that have the experience you don't. But the reward is that the world opens up to you. There is so much more opportunity than you could possibly have imagined."

</comment><comment><USER48> If you like to work by your hands, there are vast amount of opportunities out there. And it's perfectly fine to pursue a career as an electrician or a cook et cetera. It may not be rocket science but with the satisfaction of getting things done and having satisfied customers and good co-workers, it can be fun.

But if you really can't think of anything that suits you or motivates you, then I think the problem is your own behavior and thinking patterns, that you need to change. You seem to have gotten stuck in a rut, so a nice break from it in a form of say school doesn't seem like a bad idea.

Don't however, let the fallacy of sunk cost misguide you. Just because you have been doing software development doesn't mean you can't switch to manual labour. Or that your next job has to be somehow related to your current. Listen to your own emotions and thoughts, don't let the past weight you down.

For example, that one very good programmer and Youtuber, bisqwit, actually works as a bus driver. Which I think is really encouraging in showing that even if you are really good at something (or you like to do as your hobby), doesn't mean you have to pursue it as your career.

</comment><comment><USER49> It might help us to know what hobbies/interests you have. Do you like animals or plants? Getting involved in horticulture may be very good for your long term health. In fact, most people would benefit... [https://blog.strong- brain.com/outdoors-for-physical-mental-h...](https://blog.strong- brain.com/outdoors-for-physical-mental-health-green/)

</comment><comment><USER50> Figure out what makes you happy while you do the bare minimum and use your nights and free time to make it happen, It's hard to sludge you anything you don't like, and it's hard to tell someone "I hate my well paying career", without sounding ungrateful. Don't let yourself believe this is an intellectual fault, not being a technical person doesn't mean you're dumb.

</comment><comment><USER51> I'd like to quote the inestimable and late Richard Feynman here.

"Study hard what interests you the most in the most undisciplined, irreverent and original manner possible."

"You have no responsibility to live up to what other people think you ought to accomplish. I have no responsibility to be like they expect me to be. It's their mistake, not my failing."

</comment><comment><USER52> I sense a frustration with status quo. As always it's a spectrum of causes. Job, or purpose may just be one. Important one, no doubt, but sometimes not the decisive one. Young hearts are movable, so are their minds, given enough interest either from within or from outside.

Being you, I'd first try to figure out how much money I need to feel comfortable. Then ask if I can afford to be less comfortable and for how long. Then I'd look if anyone else depends on me for their comfort.

Finally, I'd try to imagine what I'd do in my free time should I forget about all of the above. AND for how long would I be ready to stay oblivious in that.

If I see myself making money while doing that thing that I imagined, I try to write it down and later figure out a plan to make that happen... eventually.

Meanwhile, I'd take some rest and solve something approacheable. This will sure be a booster, to start believing that you've got that thing that you think matters in life. And you can make it better!

</comment><comment><USER53> If you're employed as a programmer and not being fired for incompetence, then you are actually smart enough to be a programmer.

<comment><USER54> In more than 20 years of programming, I've never seen an incompetent programmer get fired.

</comment></comment><comment><USER55> When was the last time you were working on something and lost track of time? This an indicator that you were in a flow state. Dont go for something you love doing - not everyone has that. Find something you can focus on, and that you can zone out while doing. This is honestly all most people can hope for.

</comment><comment><USER56> This sounds kindof like a pathological mode of thinking I sometimes get into. So here's what I do to escape that mode of thinking/feeling when I find myself in it. Hopefully it will help.

If you find yourself having trouble figuring something out, do not beat yourself up over how much trouble you're having. That type of thought takes you down a really rough negative spiral.

Instead, focus on your desire and will to figure it out or get it done. Believe in your ability to figure it out and then go prove yourself right by using your will to do so to power the work that will get your where you want to go.

You have the power to pull yourself out of the rut, and you can get help from folks like counselors and peers too. But fundamentally, I have found that it takes a strong internal will to get out of a rut. I think that you can find that will and act upon it.

</comment><comment><USER57> Do you find you have problems concentrating and focusing on things that interest you? Also, do you by any chance do a lot of high dopamine low effort activities (eg, videogames, social media, television, recreational drugs, junk food)? If yes to both then perhaps try a dopamine "detox" to reset your receptors.

I found that I was finding it harder and harder to do things that take effort, even if they interested me (programming for work or fun, reading mom-fiction material, chores, etc) but instead spent a lot of time on HN (errr..), youtube, playing videogames, eating junk food... By abstaining from all stimulating activities, to make "low dopamine" the new normal, I could make the payoff of high effort activities worthwhile again. Concentration and motivation improved.

</comment><comment><USER58> Certainly smart enough to do the vast majority of work in professional software dev which is basically CRUD, and smart enough to realize that it is easy and boring. I'd go back to school anyway and see of there's not some research in any other field you might be interested in.

</comment><comment><USER59> I often worry about this myself, and I highly agree with what some others are saying: find a problem/task that interests you or is worth solving - and work on it until it's solved, regardless of how difficult it is or inadequate it may make you feel by not understanding it at first. If you can't find a challenge, then maybe try going out of your way to add new feature /functionality to your CRUD apps. The challenges are always there if you keep an eye out.

Again,I really believe its more about preserveerance and interest, not inherent intelligence. If you can build and maintain CRUD apps without an issue, then with time and effort I am certain you could progress to other more interesting challenges given enough effort.

<comment><AUTHOR> > find a problem/task that interests you or is worth solving - and work on it > until it's solved, regardless of how difficult

I guess part of the problem is that those problems tend to be rare. The way I feel, is that if I have a problem, it's likely already been solved (in which case I'll just use that solution), or people much more intelligent than me are already working on it.

Another issue seems be be is that as time goes on, the problems I take interest in seem to become much more difficult to solve. This may be because they are technically complex, but can be for other reasons too. Often I don't even know _what_ I need to be learning / researching to solve a problem, and that basically halts me.

<comment><USER60> You could consider talking more about what you are interested in, what makes you happy, and less about the problems with your current situation. If you have even a little bit of energy that you can put towards something which you care about more than what you're working on now, you can start to move your life in a new direction. Eventually you'll start to take some risks that you are not brave enough to take now, but you need to be positive. Don't worry about making drastic changes now, they can come when you're ready.

Complex problems are good if you care about them. A smart person working on it is a good sign. You just need to find a small way to contribute or even just to learn, you don't need to take over the world. Just do one small thing towards finding what you care about.

In short, don't worry about changing your current routine and job, try to find something you really care about and work more on that in your free time. Trust your gut.

</comment></comment></comment><comment><USER61> So, by your own admission, you aren't intelligent enough to excel in your current profession. You're not interested in pivoting to adjacent fields. Your constraints are basically that you're not capable of, or interested in, any technical, or tech adjacent, fields. HN might have a hard time helping you here, since the fields you're ruling out are exactly what the site focuses on.

It sounds like you're basically at square one. Do you have another skill set? Are you particularly interested in some other field? It's difficult for a stranger to give you life advice when all we know is what you are not interested in or capable of. Tell us more about what does feel engaging for you, and we may be able to help more.

</comment><comment><USER62> > I've tried to branch out into a number of different things, but nothing > sticks. I fail to understand, fail to recognize patterns, am too slow to > understand simple concepts and never retain anything.

I am doing my Masters in Statistics after doing my BS in Computer Science. It was overwhelming and like you, I felt I do not understand even the basic concepts and it takes longer to grasp the simpler concepts. But I realized I just have to spend more time on topics I do not understand and ask for help from my peers.

From my experience, in terms of learning new subject, I think what you are feeling/facing is expected and you just have to push through it.

</comment><comment><USER63> You say you're stubborn on what you take an interest in. Could you expand on that?

The other prompt that felt interesting to me was that you feel an intellectual limitation in terms of what you retain, what does that look like in practice?

</comment><comment><USER64> Are there any activities that you enjoy doing for hours at a time without draining you?

You might want to use that as a starting point and then branch out.

Alternatively, it seems like you might be struggling with anxiety/impatience and you might want to work on that instead of trying to reorient your external life.

Some suggestions: try exploring mindfulness and meditation, it's pretty easy to get started with an app like HeadSpace. Also, I would highly recommend the book The Charisma Myth, it's pretty simple and has some excellent exercises to deal with a range of impairing feelings/emotions in an effective way.

</comment><comment><USER65> I feel bad that you are experiencing this problem. If "promoters" stopped putting out ridiculous "call to code" YouTube videos etc. you and many others will probably not be having this problem.

</comment><comment><USER66> I feel you buddy. Programming can be painful if not born to it. Find some other means of telling your story; blog, animation, graphic novel, public speaking, or spray paint on the subway walls.

</comment><comment><USER67> Have you thought about jobs that involve some sort of manual labor / physical activity? Maybe you have "physical" intelligence (it's a thing) or perhaps something more aligned with creative arts? Try doing a bunch of different things. If you're not strapped for money, see if you can shadow a bunch of different careers and see which one sparks interest in you. I agree that it has to do with interest, not aptitude.

</comment><comment><USER68> Hey. Kind of same here. I'm a good programmer but not motivated enough to really get to grips with the difficult and low-paying fields I'm interested in. Here's a lazy solution: cut down your hours. Work 4 days or less. If programming's already so boring, then there's not much downside to picking a boring well-paid field to offset the salary loss. Use your time to do things you care about instead.

</comment><comment><USER69> Something no-one else has mentioned yet is learning methods. Stuff might not be sticking because you're using the wrong learning method for you. Instead of reading a book, maybe watch a video tutorial instead, learn by doing etc, get a mentor to pair program with?

Also look up 'imposter syndrome', it does sound a lot like you're suffering from self-esteem issues too so maybe get someone to talk with?

<comment><AUTHOR> Interestingly, I've never been a fan of video tutorials in the past, but have tried using them in the past weeks. There are some aspects of it I like. It's easier to keep attention with a video than a large wall of text these days (though it used to be the opposite). Unfortunately, it's not so easy to skip around content in a video, for example to avoid useless filler content or to return to a small chunk of content to review.

</comment></comment><comment><USER70> I felt a bit similar and what I had to do is actually think and even write down what kind of activities really interests me, give me energy and inspire me. It was quite an interesting mix of tech, teaching, community service, working with youth. Now I try to slowly move to that and so far I feel much better. I wish you good luck!

</comment><comment><USER71> Welcome to adulthood. Work is often unpleasant.

You don't need more school, you need to find a healthier attitude, and maybe coworkers you get along better with.

</comment><comment><USER72> I think I see a lot of people in the potential career changes who have a similar attitude, which unfortunately continues the (probably not untrue) perception of BAs, sales and management who don't know shit. Please don't add to this by saying "I don't like development and don;t think I'm very good at it, so instead I'll become a manager of developers".

</comment><comment><USER73> throwaway88p, I think you actually seem to a very mentally healthy guy, despite what the nerds over here suggest. The obsession to solve intellectual problems for the sake of solving problems with no grounding in reality ( or a made up reality) is what is glorified by these nerds here. While this obsessive trait (hard wired) does result in some extraordinary benefits for humanity, it is not mentally rewarding for someone who can see it for what it is i.e grunt work.

The ability of be bored is I think just an important useful neuro-mental process, just like the ability to forget. depending of which side you lean it may be useful or be a liability under different circumstances.

To end on a pessimistic note, one cannot manufacture interest, unless we come up with a way to skillfully manipulate our neuro hard wiring. I think we a long way off from achieving that.

<comment><USER74> I remember reading an old post on here by some anon who managed to make themselves enjoy math using a carefully crafted psychedelic trip. Could be a fluke on the level of curing OCD with a gunshot, but also an interesting possibility.

<comment><USER73> I can agree here, most psychedelics ( and to a lesser degree foods and other drugs) will have some mind altering effects. There was someone online a long time back who claimed that there is very reliable way to forget certain memories ( useful when trying to forget traumatic events) by using some combination of substances.

</comment></comment></comment><comment><USER75> Do you feel passionate about any particular subject, trade, or issue at all, regardless of whether or not it's connected to tech?

Reminds me of this famous scene: [https://www.youtube.com/watch?v=Wu2HhlTEHMc](https://www.youtube.com/watch?v=Wu2HhlTEHMc)

<comment><AUTHOR> Passionate? not really much anymore. There are a number of things I'll take fleeting interest in after reading / watching some stuff, ranging from different technical subjects, to scientific subject, etc. Nothing ever seems to stick, though.

</comment></comment><comment><USER76> Not sure why you've phrased all these things as negatives. Whenever I'm faced with something similar I don't wonder if I'm the problem but that the existing material and advice was not meant for people like me and I should look for a way to help myself and those like me.

</comment><comment><USER77> you say you started doing programming as a hobby which means it used to be fun, right?

you might want to isolate the aspects of what made it fun back in the days when it was a hobby and what makes it dreadful at the moment and find yourself something which include the first, but lacks the later.

personally i think the attractive side of being a developer is creating something. reading you're not interested in business side of tech (analyst, salesman, management) you might want to explore other crafts which maintain the creative part.

that could be anything really. i myself started out as a graphic designer before i got involved in programming which might be something you want to explore...

<comment><AUTHOR> Honestly, I've always enjoyed chasing the "rabbit hole" that came with solving problems. I'm generally poor at putting my thoughts into concrete descriptions, but I'll attempt. It used to be something like this:

I have some sort of problem, ideally one that intrigues me, because it's not obvious. I would dive into it, and it would lead down to a rabbit whole of other issues and subjects I would research and would come out with a solution, having been engaged the whole time.

Nowadays, problems I encounter are either incredibly shallow, being caused because of some carelessness by myself or someone else and often solved with a 5 minute search, or the complete opposite, too complex for me to even get started with, as people much smarter than me.

</comment></comment><comment><USER78> Try psychotherapy. It is not going to change anything immediately, but maybe you'll start looking at your problem from a different angle and find out that the problem is not your dayjob.

</comment><comment><USER79> I don't think theres such a thing as not smart enough to be a programmers. One of the dumbest people I knew was also one of the better programmers.

</comment><comment><USER80> Can you remember a time when coding sparked joy in your life? What made you interested in cs? Try to go back to the inspiration.

</comment><comment><USER81> I would not consider myself very smart.

Took me multiple years, probably a decade between my first hello world and my first job, to become a programmer.

I just didn't give up

</comment><comment><USER82> It sounds like you're looking for growth and significance but need direction. Listen to the Ken Coleman podcast.

</comment><comment><USER83> Can totally relate.

25 years as system administrator and I DO NOT want to do DEVops nor SRE.

Not sure where to go myself....

<comment><USER84> Learn how to do systems admin in the cloud your current employer/industry favors - as a longtime Microsoft platform admin who picked up PowerShell over the past decade to do AD/Exchange/Lync (Skype), Azure was easiest to slide into. Learn how that cloud's networking works, especially with existing on- prem stuff, and do so in its command line interface. Learn how to do those things in Terraform and Ansible.

Be a sysadmin for developers. Help those bright young kids who are network- blind figure out why their stuff isn't talking to other stuff. Help them when they can't work out how to deal with the corporate web proxy or why their cloud bills are so high (did they check how many cores their database instance _really_ needed? Did they pick a good VM size, or should they have gone with something with a higher RAM/CPU ratio?)

</comment></comment><comment><USER85> Read Scott Adams Book on how to be successful , in a nutshell, be the only one who is in the top twenty percent of 5 to 10 disciplines and you'll be absolutely unique and valuable and create something only you can create.

</comment><comment><USER86> What about quantum physics or something like that?

</comment><comment><USER87> "Everyone is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid." \- Einstein, maybe

<comment><USER88> Not Einstein: [https://quoteinvestigator.com/2013/04/06/fish- climb/](https://quoteinvestigator.com/2013/04/06/fish-climb/)

</comment></comment><comment><USER89> have you tried taking a break and going on vacation and not think about tech at all?

</comment><comment><USER90> Game design? Story telling? UX?

</comment><comment><USER91> Drink more water.

</comment><comment><USER92> UX design?

<comment><USER93> That is, despite all the fuzz, not something you jump into from maintaining CRUD apps.</comment></comment>


Missionary CEO's v. Mercenary CEO's - <AUTHOR> http://larrycheng.com/2009/07/27/missionary-ceos-v-mercenary-ceos/

<comment><USER2> I love this article and if you have not read "the monk and the riddle" please please do so. It should have a great impact on you.

I felt like I had become a mercenary CEO in a missionary CEO's clothing at my last startup. That's when I left. I was passionate about being passionate. Money is always a factor, but it's a common denominator. Create a company with value and customers that youre on a crusade for, and odds are money will come out of it.

</comment><comment><USER3> I have to respectfully disagree with Doerr on one point: "You should be working on something even if no one paid you anything for it". This is laughable. It's been said before, but i'll say it again: it's easy to say things like "don't worry about money"... if you're already rich.

</comment><comment><USER4> Great article. I had heard missionary and mercenary CEO's mentioned, but hadn't seen anything about it yet.

In the video he says (paraphrased), "if you can't see yourself doing this your whole life, don't do it", if you're a missionary CEO. So the thought that came to my mind is - what if you're on a mission and your start-up solidly aligns with it, but one start-up might not handle your entire mission? If a start-up is a launching pad, are you a missionary, mercenary, or combination of the two?</comment>


Q: How best to populate a new site? - <AUTHOR>

I've posted something similar on Reddit - but didn't get very far (most of the responses degenerated into a joke, but that's probably because my example was about a dating site)
And, I saw a similar post here on HN which leads to the OP's blog at http://startupblog.wordpress.com/2009/09/04/inventing-demand/ - but I think that works only for places that do actually trade physical goods, like eBay or any store-like sites.
Anyway, I'm hoping I'd get more thoughtful insights here.
So the question:
How best to populate a new site? sites that don't actually trade goods? (or simply trade on virtual goods)
To put in context, think: - craigslist - reddit - personals/dating - music/book/reviews
Some suggested scraping existing content from similar sites to create the initial population (creating dummy user accounts) - but that seems icky. And, likely not tenable in the long-run - actual early users will detect/notice scraped articles.
Using/asking friends and colleagues might not be as effective (eg: not having enough good writer friends, or willing to participate in a dating site)
I think, there are also services out there that offer to populate your site (like this: http://www.evercurrent.com/adding_profiles.html) but again, new members will likely try to connect with the dummy accounts and not get a response, so will not come back or deem your site useful. <comment><USER2> There was an article posted here a few weeks ago about a guy starting a rental site. He basically created a lot of mock listings for popular products, and when someone actually chose to rent it, he'd buy it and rent it out to the person. Then either return it or keep it for more people (Memory not serving me currently)

edit: <http://news.ycombinator.com/item?id=804310>

<comment><AUTHOR> Yeah, I read that one here - that's why I decided to repost my question from reddit here on HN...

</comment></comment><comment><USER3> Classic chicken egg problem inherent with sites that depend on users to generate the content.

Without existing content, users won't find it useful. Without users you can't get content.

In any case, don't fake it, duping your users is the worst thing you can do.

<comment><USER4> Depending on the subject matter of the site, you could invite users to a private beta, and once you have enough people signed up, they could start filling up the site with content behind closed doors. Then when you open, you have enough content to keep the masses happy.

</comment></comment><comment><USER5> Make it useful for people to join even when no one else is there. If it's a dating site, offer them fun stuff like personality tests and what not that they can do only if they sign up / create a profile. You get the idea.

<comment><USER6> Depending how evil you are you can follow the Facebook-app model of offering the personality tests, games and whatnot for free and then getting them to sign up to get the results - only let them know that they need to sign up at the end though.

This coupled with a minimal info request - name, age, email, location (at first) should hook you some punters.

Indeed a FB app is probably a good seed method (or would have been last year!) - something like "which of your friends is most compatible with you" ... you can snag extra info about them under the guise of refining the friend choice then at the end say "here's a list of people [not their friends other people near them] who might want to date you, get more dating suggestions by signing up".

<comment><AUTHOR> I've thought of using an FB app, but like you said - last year it would have been great: last year; instead of a quiz, some sort of game that collects the needed info peripherally might work (full disclosures in the game, to lessen the evilness of course)

</comment></comment></comment><comment><USER7> You have to seed it with some content.

</comment><comment><USER8> Is there market demand (ie some genuine unmet need)? If so, then put up some content and people will eventually come. It may be slow, depending in part on how much content you put up. I know of a site that started as a list of links and grew into a forum. The forum part took over and the resource part is now kind of underserved. I think the forum was better when the resource part was more important to the owner. I also know of forums that spring up spontaneously around good websites because folks want to talk and want to connect. People need a reason to be there to begin with.</comment>


Ask HN: Why WebRTC media servers are NOT built upon webrtc.org source? - <AUTHOR> WebRTC's "canonical" implementation is by definition the "right" one because it is directly used in the Chromium browser, which means directly or indirectly, most WebRTC users in the world. So if something else interfaces with it poorly, it's their own problem. Yet, no major WebRTC media server - like Janus, Mediasoup, Wowza, ... - uses it, they build their own implementation, usually kind of lame in some way, either buggy or limited in supported protocols and codecs, or both.
Why? I know every "why don't you just..." styled question always has an answer totally exposing ignorance of one's asking, and yet... Why not build a media server which will use www.webrtc.org code to send and receive streams - and libav* for transcoding and other media-related tasks?
Is there some licensing pitfall there?
Just out of curiosity, i have simulated it by running some javascript to shuffle streams, in Chromium on Xvfb, manipulated by a Node script. It works just fine and totally simulates a well-functional media server. In addition, making a video MCU (Achilles' heel of most WebRTC servers), trivial :D. Obviously, hopelessly inefficient in terms of CPU and (especially) memory consumption, since i'm pulling whole browser along, but what if i just take the webrtc part, right in C++? <comment> Sean-Der I created Pion WebRTC so I am biased, but these are my thoughts

* It is dangerous to say libwebrtc is the "right" one. That is the same attitude that created the browser monoculture with IE6. WebRTC is an IETF/W3C standard, as long as you implement everything it shouldn't be a problem. Also calling other implementations buggy/limited isn't the full story. Chrome has made changes in the past that break everyone else (FireFox and WebRTC servers), so it isn't fair to blame everyone else.

* libwebrtc was designed with clients in mind (not servers). This is more of an anecdote, I don't work with libwebrtc but this is what I have heard from other developers. It spins up a lot of threads, and does a lot of things that SFUs/MCUs don't care to deal with.

* libwebrtc is very hard to compile/work with. See [0]

* If you are on outsider it is hard to land your changes. In 2015 I attempted to get involved, but was unable to get anyone interested in my changes. This wasn't out of spite though, libwebrtc needs to serve the business interests of the people who fund it. But if you are a small SFU developer, you are going to have a hard time getting your changes upstreamed. Also if your changes put official projects in danger that use libwebrtc it will never happen.

libwebrtc isn't the hard part with making an MCU. When I did this the hardest part is doing all the compositing (and all the resizing/modifications that Chromium is getting you). It is probably possible with libav, but much easier with GStreamer. There is a user that does it now with Pion + GStreamer. This could be a lot easier (and would be a great Open Source project!). If you are interested would love to hack on it with you.

[0] [https://www.cosmosoftware.io/blog/libwebrtc-is-open- source-h...](https://www.cosmosoftware.io/blog/libwebrtc-is-open-source-how- hard-can-it-be)</comment>


How do you track and decide what topics you want to spend time learning? - <AUTHOR> http://swanson.github.com/blog/2011/12/04/whats-on-your-learning-list.html

<comment><USER10> If anyone is struggling to stay on top of notetaking or organizing their life digitally, I highly recommend org-mode and deft-mode.

One day I will blog about what org-mode has done for my life, but for now just accept my word: I have typed tens of thousands of words into each of EverNote, Tomboy, and TiddlyWiki. I attempted to use Remember the Milk, Google Tasks, and other todo apps for years. I also unsuccessfully struggled to recall information by bookmarking and tagging three thousand websites in delicious. Nothing worked and I was on the verge of giving up for sanity's sake and just emailing myself reminders and notes.

Then I discovered org-mode and took control. I can recall and store any information in seconds. Org mode can do absolutely everything. Ask and you shall learn.

<comment><USER11> <http://orgmode.org/> for those unfortunate Vim souls (like me) who had to google that!

<comment><USER12> For the interested, here's the best non-brief intro/tutorial to Org-mode that I was able to find: <http://doc.norang.ca/org-mode.html>

It helped me immensely when I was just getting my feet wet with org-mode.

</comment></comment></comment><comment><USER13> I went through a similar exercise last week.

I'm trying to leave the place I'm working, and I'm mostly concentrating on places that are a little above my weight class (because if I'm going to try and get a new job, I don't want to go work at the half-dozen places that do the exact same level of work that I do. I've had a few jobs not pan out, so I wanted to take a step back and rethink things)

So I started an Omni-Focus project, which I called Me 2.0 (although I could have used any of the myriad project-tracking applications, or just a text editor)

In it I started trying to list all the things I wanted to learn. I noticed when I finished that it was predominantly a list of books to read (many of which have exercises that I want to make sure I go through and actually complete).

I noticed that some of them have dependencies on other ones (so I linked those tasks) but others I can start working on in parallel. We'll see how well I can stick to it.

Just writing it all out was a helpful exercise though. There's something freeing about having specific tasks, and not just nebulous concepts.

</comment><comment><USER14> >Instead of trying to do Deliberate Practice, I'd fool myself into thinking I was investing my time wisely by reading blog posts and examples but not actually doing much of anything.

That is one reason for serious learning I use textbooks. The book itself helps structure your learning, it is easy to keep track of how much you have covered, and commitment is simpler, since you can just commit to finishing the book.

It doesn't help as much though for longer term learning; I have a tendency to procrastinate between books, and often switch directions and even fields of study. On the other hand, the OP's "learning list" doesn't help much with that either.

<comment><USER15> That's a good point about textbooks. Do you find that if a book includes Exercises at the end of each chapter that you actually do them? That's been a big challenge for me - so many great books have 'Action' sections but I rarely find myself putting down the book and doing them.

<comment><USER16> I am willing to do exercises if the answer is in the back of the book. Programming Pearls did a good job in this respect.

</comment></comment></comment><comment><USER17> Much better than my lazy default which involves leaving relevant tabs open on my browser ...

So I just did this exercise now, and at the risk of overtooling I'm going to keep a detailed list of the precise things I did to learn each thing. Because otherwise, I have that same tendency to convince myself I've spent 2 hours learning more about graphical models by browsing some blog posts, or about cooking by looking through some cooking blogs but not actually taking the 2 hours to flail at bread-making. I'm not talking about every day recounting what I did, I think that's overly verbose, but just as a list under each of my goals that details each specific accomplishment.

<comment><USER18> Two weeks later: Browser takes 10 Minutes to fire up. (One could leave the computer running, I guess, but argh, too many tabs..) How do you deal with this?

<comment><USER19> Try Luakit. <http://luakit.org/projects/luakit> It's a creamy webkit center with crunchy vim keybindings on top, all bound together with lua.

The tab management isn't much better than Chrome's, but boy does it start up fast, and the memory usage is peanuts even compared to chrome. I bet you could script your own tab manager in lua if you wanted to. Maybe there's a plugin for it somewhere.

</comment></comment></comment><comment><USER20> I have an elaborate system using text-files and tags/subtags, evolved over the last 5-6 years.

I keep track of a lot of things:

-expenses

-gym sessions

-leads for my magazine

-startup ideas

-personal development insights

-diary entries

-brainstorms

-quotes (see this: [http://ideashower.posterous.com/idea-for-some-tiny-web-softw...](http://ideashower.posterous.com/idea-for-some-tiny-web-software-l337quotes))

-stuff I should read later (but almost never get around to)

-ideas for lyrics

-fragments for various novels I am working on

-various biometric data (morning weight, stuff like that)

-TODO

-plans (I do try to aggregate all of these into a standalone "plan file" since it's such a crucial function of my administrative system)

-and a bunch of other things I can't recall right now. Let's just say I generate a relatively huge amount of notes every single day.

So a typical temp file might contain some thing like this:

itm: IT9: recruit: foobar foobarsson

itm: todo: find logo designer

todo: buy anal lube

planfile: BHAGs: $big_hairy_audacious_goal

planfile: schemes: $insert_greasy_scheme

diary: 5/12 2011: went to Footown today, got wasted

expenses: 5/12 2011: cat food 10 kr | alcohol 300 kr | anal lube 49 kr

lyrics: $lyrics / $more_lyrics / $even_more_lyrics

idea: business: hamburger earmuffs

read: <http://reddit.com/r/foo/whatever>

insight: $deep_insight

brainstorm: what topics should I learn in 2012?

I dump all of this piecemeal into temporary text files which I then transfer periodically to a central place. I used to go through them and sort everything into separate piles, but at this point that would probably be a full time job.

If I need to find something these days, pretty much the only way is to use grep and hope that I tagged something the right way (sometimes I am too lazy and just dump crap in there untagged).

If you think it sounds like I run my life like a gigantic byzantine bureacracy, you would be right. But at the same time, it's probably a huge net-win for me in the long run as it allows me to keep track of stuff on a scale that would be impossible otherwise.

I would like to write some software that could parse my notes and make my life easier. Anyone else in the same boat?

<comment><USER10> That software already exists and is called org-mode :)

Some reasons to use org-mode:

* Org-mode is part of Emacs, so you can extend it in Lisp. If you so desired, you could record your weight each morning by sending yourself an email and scheduling an Emacs function... But someone has probably already done that in the 35 years of Emacs' existence. If not, Emacs macros are very easy to write, because they emulate the actions you would take yourself. (See my 9 liner for incrementally searching for keyboard shortcuts: [https://github.com/aantn/castle/blob/master/home/.emacs.d/cu...](https://github.com/aantn/castle/blob/master/home/.emacs.d/custom/personal/vim.el#L73))

* All org files are plain text

* All "items" in org files are part of a foldable hierarchy

* All items can be tagged

* TODOs are really just items whose headline starts with "TODO". Org-mode adds features for toggling, finding, and visualizing them

* You can extend org-mode any way you want. For example, I added a DEFER status for my TODO items. ([https://github.com/aantn/castle/blob/master/home/.emacs.d/cu...](https://github.com/aantn/castle/blob/master/home/.emacs.d/custom/personal/org-config.el#L7))

* You can scatter your notes across as many files as you want. Org-mode can parse them to build your daily agenda (<http://orgmode.org/manual/Agenda-Views.html>)

* Org-mode displays formatting without hiding the markup (e.g. everything between two asterisks is bold)

* Org-mode exports to LaTeX, pdf, and html. (Embedded LaTeX is rendered too.)

* Org mode allows awesome links of all kinds (<http://orgmode.org/manual/Hyperlinks.html#Hyperlinks>)

* Code snippets can be embedded in org-mode and even executed

* Org-mode supports tables with formulas. It also includes a ledger for accounting. ([http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-l...](http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-ledger.html))

See my comment below for a discussion on organizing notes and searching in them.

<comment><USER20> Sure, I'm convinced. But I still have tons of legacy data.

<comment><USER10> It isn't all or nothing. You can open all your old files in org-mode and slowly start taking advantage of org-mode.

It's all text. No conversion necessary.

<comment><USER20> Sure, but what I need to do then is to write a semi-automated converter which just shoves everything with a clear tag formulation into org-mode and asks me what to do with the rest.

Thanks, this actually sounds doable to me now!

</comment></comment></comment></comment></comment><comment><USER21> I see Vim on that list.

Best way to learn Vim is to get stuck without internet for 30 minutes. Once you explore every avenue of entertainment in your documents/downloads folders, you remember `$ vimtutor` and just have a go at it. Tried and true.

<comment><USER15> I want to be good at Vim, but it isn't practical for me at the moment. At work, I've spent the last year and half in Visual Studio or Eclipse (both due to the nature of the projects) and it was really hard for me to switch my brain into "Vim mode" for my own personal stuff.

With something as fundamental to the job as a text editor, I have to do it 8 hours a day or it won't stick.

<comment><USER22> I actually learned most of my Vim foundations using ViEmu[1] for Visual Studio. While some things are missing, it does an impressive job of emulating Vim and not stepping all over VS and R# (aside from Ctrl-R key bindings).

I used the viemu cheat sheet lessons[2] for the learning process. As I became comfortable with the commands in each, I moved on to the next lesson.

[1]:<http://www.viemu.com/> [2]:[http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...](http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html)

<comment><USER23> On the Eclipse side, I've been using viPlugin[1]. It is not free, but I've felt like it has been worth the cost since my forays into vim had all failed before getting this plugin. If you're working heavily with Eclipse/VS, it is definitely jarring to switch back and forth between one of those and vim, but using a plugin like this eases that pain.

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

</comment></comment></comment></comment><comment><USER24> This is a great idea. As a step two, I would group them into categories (JavaScript, self-improvement, etc.) and then figure out time needed to become proficient in each one. Vim, for example, takes about 5 days to really get the hang of it, to pick up the essentials. The other tricks come later. CoffeeScript can become familiar after a weekend or two. A few of the others, like Arduino, take a little longer.

This is what I do when I want to learn things. Of course, I have a problem limiting it to programming. My list often includes stuff like "Thai cuisine" and "German" and "Celtic mythology".

The hardest part, in my opinion, is not tracking NEW things to learn, but tracking things to improve on.

</comment><comment><USER25> I don't really focus on "topics", I pick something I really want to build then try and work out what the best suited tools and technologies are for that objective, then take it from there.

For my web startup idea this was Grails, because I work with Java in my day job and like the Rails convention over configuration philosophy. This leads to other areas like modern JavaScript frameworks.

For my video game idea it's Unity, for mostly productivity related reasons. This leads to JavaScript again (doesn't everything these days), C# and programmable shaders.

I don't want to spend my valuable time learning the latest new thing just for the sake of it. (I see loads of 'weekend projects' on here using Node/Backbone/Redis that seem to be this kind of thing). I want an immediate real-world application. I want something that will help me solve problems and smash my personal deadlines down like a pile driver. :)

</comment><comment><USER26> I have a lot of non-IT stuff that I'd like to know at one time - so, in a spirit of sharing our TOKNOW lists, my current one:

        - <USER2>
          - <USER3>
          - <USER4>
          - "Applied" - stock markets, credits, all that stuff - how it works, etc. (I know almost nothing about it)
        - Knowledge about societies - how they form, how they function, etc.
        - Bayesian probability (working on it right now, thanks to AI Class), set theory, maybe category theory
        - Control theory (I do really, really regret I didn't care about this at university)
        - <USER5>
          - Genetics 101 & blood groups (I forgot all this stuff since high school)
          - Nutrition 101
        - First aid
        - Pretty much whole physics (Feynman's lectures sitting on my bookshelf and waiting ;))
        - <USER6>
          - of civilization, especially Roman history
          - of science, technology and enterpreneurship
          - of modern geopolitical structures
        - <USER7>
          - World energy infrastructure
          - How many resources do we have, where they are, how fast we use them
          - How the world trade works
        - <USER8>
          - "Homeless People"
          - "Crime and Punishment"
          - ... and then some other good books

And that's really just (non-IT) knowledge; there are also some skills I'd like to acquire that are not listed. I know some (most?) of that stuff was covered in high school, however I somehow missed it all then (I didn't care / school wasn't really helpful to make me care). This list reflects some topics I spend time thinking about / worrying about, but at some point I realized I should either sit down and learn some of it, or stop caring that much about things I don't understand.

From the technical side (which is actually the main topic ;)), I keep all of this in plain text; it used to be .txt files somewhere on my hard drive, now it's in Org Mode.

<comment><USER27> It's funny and sad when you realize that you care more about knowledge, learning etc. when you're out of school. Or maybe I was just not mature enough to appreciate it.

<comment><USER26> I think it's not about maturity, it's about having reasons to know. School can kill ones's interest in pretty much everything, as soon as your curiosity gets replaced by tests, grades, homeworks, rote, memorizing etc. But it's a long topic, covered on HN many times.

For me, most of the school subjects were utterly meaningless. I didn't understand then why could I care about how we produce electricity, where are the resources located. I didn't see any use for learning about kings and battles of the centuries behind (the only date I really remembered back then, is the 6th of June 1944, Operation Overlord; Second World War at least seemed interesting to me personally). Or genetics. Or social things. Or entrepreneurship. Or whatever.

I don't miss the school per se. I only wish I put up with crap back then, I wouldn't have to learn some this stuff right now the second time.

I still believe the subjects, the way we're taught, are devoid of meaning. To pick one example, physics and geography classes contain enough of knowledge for people to make smart decisions about complex subjects, which scales up in democracies to nation-level. Instead, we see e.g. young mothers boycotting the construction of nuclear power plant in Poland, or whatever. Society seems to be unaware as of where do we get power from, how much do we need, and why it is a damn important problem. People only complain about gasoline prices going up; but hell, if the society doesn't care (or, doesn't even understand enough to be able to care) about energy, how can it expect politicians to care? It's a lack of mental picture of issues the world is dealing with. And energy is only one example.

I remember being taught all those things in school; I didn't really understand anything back then, and I think most of the people didn't. Things like "renewable" / "not renewable" resources were to me like Lisp symbols. Their only meaning for me was in tests, like: (member 'coal _renewable-resources_ ); get it wrong, have 0 points. Somehow, between grades, tests and homework, the real meaning of things we learn got lost.

Anyway, I wish to go once again through the school material, this time for real, and try to extract some meaning out of it for myself and others around me.

<comment><USER28> I recently made my own list

        Linguistics (psychological, pragmatics)
        Anthropology (social, cultural)
        History (Colonial, Victorian, social)
        Psychology (social)
        Etymology
        Humanism (Renaissance)
        Philosophy (Epistemology)
        Libertarianism
        Barter Economies

        Generalism
        Miscegenation
        Languages (Romance)
        Entrepreneurship
        Technology Startups
        Film (foreign, documentary)
        Music (folk, world, classical)
        Literature (fiction, creative nonfiction)

        Coffee Houses
        Salons
        WWOOF
        Wordplay
        Photography
        Curation

I used to study them all quite frequently but have stopped in the last few years without knowing why. Now I realize it's because I'm trying to justify knowledge vs. usefulness. Trying to get back to some of them now, though.

It's interesting that I have yet to find others who also like to learn about varied topics, outside of those who enjoy learning about technical topics. I guess that's why I'm a generalist (and why generalists are usually INTPs).

<comment><USER28> I should add cultures and languages, too.

CULTURES

        Brazil (10 years)
        Spain (5 years)
        Colombia (5 years)
        Argentina (3 years)
        Portugal (1 year)

        Cuba (months)
        Italy (months)
        Germany (months)
        Australia (months)

LANGUAGES

        Brazilian Portuguese (fluent, self-taught)
        Spanish (semi-fluent, self-taught)
        Italian (intermediate, self-taught)
        French (basic, self-taught)

        German (attempted)
        Swedish (attempted)
        Russian (attempted)
        Catalan (attempted)

</comment></comment></comment></comment></comment><comment><USER29> In my case, I try to keep realistic dates of completion (considering that I'm no longer an undergraduate and right now I can focus in any topic I want.)

Sometimes it's difficult to get things done if you don't have someone behind telling you what to do next; but I realized, that if you master this skill, you are at a whole new level. I think this is the type of motivation that keeps moving the PhD students or the entrepreneurs.

At the moment I'm learning how to program for the Android platform, and this mobile paradigm has open my mind for a lot of things. I really want to pursue more this area.

I think it's a great idea that if you don't understand something in a book, tutorial, etc. investigate about those topics. But, never lose focus in what you are trying to accomplish in the first time; I know that sometimes it's tempting to keep checking that Math theory and things like that.

At the end, knowledge is another tool to get the job done.

</comment><comment><USER30> Inspirational articles go into either Instapaper (URLs) or iBooks (PDFs), I read through these when I'm offline. If they sound interesting, I make a note in OmniFocus' inbox. (The new 'Share' button in Instapaper can do this automatically.)

When processing OF, I turn those things into a task in "Weekend Projects" - <USER9> list of things I want to toy around with for a weekend (or any other two free days).

When I hve started said projects, I flesh them out to be normal GTD projects and see where they go from there.

If something gets stuck and obsoleted before I have a chance to work on it again, I kill it in my Weekly Review.

GTD. \o/

</comment><comment><USER31> I keep all of my ebooks in my ipad and have library, active, and completed sections. I have four books in my active section that I read through as time goes on and every time I complete a topic I pop a book from active onto completed and push another into my active section. I found I was shifting too quickly between books whenever I got disinterested or the material got tough and I would never pick them up again until weeks later which gave me very little context for what I was learning. Finishing books and being able to review them gives you much more closure on topics and makes you retain the material better. By having four I still allow myself to shuffle a bit but it reminds me to force my way though the hard parts when a book's been sitting there too long. Maybe once a month I'll map out my interests and try and find books pertaining to them and add them to my collection. Most of the major publishers have good daily deals on ebooks, and my library has a really good collection of hard copy books when I'm strapped for cash.

</comment><comment><USER32> I did this about three months ago and have been laser focused on learning ever since instead of spreading myself too thin as it's too easy in this industry. I hope this doesn't sound like I'm tooting my own horn, but I genuinely hope everyone takes 10 minutes out of their week to do this for themselves. I can attest to this simple exercise being very much worth it.

<comment><USER33> I feel the same way. It wasn't until now that I realized my learning "hitlist" was really a histogram at heart. However, instead of tick marks I use list item comments. I also have to add that formatting my notes well (I use html) is essential--otherwise I'll avoid reviewing them.

</comment></comment><comment><USER34> I've written several of these lists in Evernote over the past few years. It's always interesting to go back and look at them to see how my interests have changed over time. Three years ago, my number one priority was to learn how to write short stories (and eventually a novel). Now my number one priority is to learn Clojure (and a handful of other technologies).

</comment><comment><USER35> What I do is revise the list every week and see what things on the list I still want to learn, so I practice the ones that have prevailed more than 2 weeks and the other ones I kinda question them. What has worked for me this year is always ask "WHY ?" , Why do I want to learn A, or B, and if the reason is strong enough then the item goes in ink.

</comment><comment><USER36> I have been using Trello since it launched. It works great for managing my reading list.

<comment><USER37> I've been using Trello for just about everything, from organizing Groceries with my wife to recurring events to todo lists, it's simple and it's not paper.

</comment></comment><comment><USER38> Really timely article. Thanks.

December is a good time to re-evaluate these sorts of things, and to book time for the ones requiring more effort (learning vim?) since many people have a lull at work at this time of year.

My own contribution to the OP is to encourage everyone to also create a "Pass" list of topics you had on your list but have chosen _not_ to pursue (example in the OP was Shopify templates).

I find I need a list like that to stop my mind from revisiting those "I should learn" topics that I actually _don't_ want to learn.

</comment><comment><USER39> I use Evernote to track everything, including this.

I dump everything looks cool into a "maybe" notebook. Before I add anything I search to see if there's a related note. This lets me aggregate and if I sort on "last updated date" I tend to get a good idea of what's important to me.

From time to time I go over the list and see if stuff can and should be purged.

</comment><comment><USER40> Interesting idea. I'll list down what I want to learn here then:

\- Python \- Django \- jQuery \- Bash \- XHTML and CSS \- Physics (currently learning at college) \- Mathematics (same) \- Psychology \- Philosophy \- Sci- fi reading \- Islamic finance \- World history

Now that I look at the whole picture, most of the topics are unrelated, save the first two..

</comment><comment><USER41> I order all my 'stuff to learn' under a category in my Getting Things Done (GTD) workflow. I use Due Today for Android and Toodledo online (they sync automatically), and a bunch of paper scraps to transfer from whereever it is that I want to record things until I can enter them into the One True repository.

</comment><comment><USER42> Back in September I went through a similar exercise and wrote down some details about it here:

[http://johndbritton.com/2011/09/30/consciously-deciding- to-l...](http://johndbritton.com/2011/09/30/consciously-deciding-to-learn/)

</comment><comment><USER43> Actually one thing that really distracts you from actually getting the list done is blogging about it! :-)

</comment><comment><USER44> Also doing this kind of things, but with local wiki system(Golum based) and shared via DropBox.

</comment><comment><USER45> I don't track anything. I just jump in topics I want to learn at any time.</comment>