The majority of information out there, including tutorials and blog articles about others' successful deployments, comes in the form of very high-level overviews. Everything I've found is an introduction to getting a basic docker instance running. There is very little useful information out there as to how to run a proper multi-host cluster.
There is core Docker. Tack on docker-machine, docker-compose, Swarm, and the dozens of 3rd-party cluster management abstractions such as Rancher - and the intensity of the headache never stops growing.
It sounds wonderful, but there is so much to learn to be able to tackle a full production stack. It's one thing to successfully launch a working cluster after hours of manual tinkering. It's a separate beast altogether to fully automate setting up a new cluster by issuing a single command, taking into account consistent configuration of: secure networking, persistent volumes with backups, deployment of container configuration and VCS codebases (ex: nginx vhosts and your code itself), etc.
My goal is to set up an entire project in such a way that there is a single suite of automation that can deploy all environments: development VM, staging, and production.
If you need any help, you are free to ping me with any queries at the email in my profile. My authority on the subject: having written a book  and a Udemy course 
I recently migrated a whole microservice stack of a half dozen services to OpenID connect and Kubernetes in two weeks. This is with about a year of casual familiarity and playing with Kubernetes, and the same migration to OpenID connect would have easily taken me 5 or 6 weeks to do in Amazon ECS, which is what we currently use in production.
Not to mention I can run a cluster on my three computers at home at no extra charge beyond electricity and play around for free. (See, dear, I'm not a hoarder!)
Setting up a cluster is even simpler now with tools like kops and kubeadm. Or just get one provisioned for you by Google or Red Hat with GKE or OpenShift.
I would highly recommend at the very least making it one of the solutions you try.
Yes, at least for development, setting up the entire environment must be a one-command execution. Every new developer to a team will obviously need to progressively learn the entire stack, but they should be up and running after a single VCS checkout and installation command.
I expect staging and production to be a perfect replica of the same environment developers use. As to how realistic it is to "launch the entire production cluster with a single command", with remote server provisioning, IP allocations, multiple hosts for various load-balanced pools, etc... I'll have to see when that time comes.
Terraform is designed for something close to one-command execution. You're going to have to swap in variables (e.g. AWS access keys for a particular account, domain names, IP addresses, etc.), but Terraform is designed for that. I would advise looking into Terraform Modules, which encapsulate this kind of work nicely.
Beside that I want to get around HashiCorp tools, especially Vault for storing and Consul for service discovery.
Firstly, because if you don't have some kind of plan, there's no hope, so try and work out what that is now; second, you'll give people who already know that skill a way to advise you.
One of the better ways to do this is to to take the lead. Be a leader, not a follower. That can be interpreted multiple ways: organizing events, inviting people to things, asking what you would like, not what you "want", even taking dance lessons (something like Salsa), not caring about the outcome so much...
Some wisdom from a book from the Ask HN Books thread 
> - choose carefully what you give a f*ck about, but when you do, do it right
> - there will always be problems, deal with them and move on, it's your own responsibility.
> - the constant pursuit of a positive experience is in itself a negative experience, acceptance of a negative experience is a positive experience
Also, Systems Not Goals
I'd also like to get better at Rust. I've written a few small projects in it at hackathons, but I've yet to get to the point where I'm comfortable writing in it. I'd like to get close to that.
I'm taking a class prior to graduation in abstract algebra, which I'm excited for. I'm hoping to be able to continue to learn in this after graduating, I've thought about continuing to take math classes at a college by Seattle after I start working.
I'm hoping to lean more about machine learning and how it can be applied to problems, a project that I'm hoping to do in advancement of this is to learn to predict cloud cover in some future interval based on the history of some things (maybe pressure and current cloud cover?)
Specific advice about Japanese: forget polite form and learn plain form from the beginning. If you are in dire need of sounding polite, just put "desu" at the end of every sentence. It will be grammatically incorrect, but nobody will fault you for it (it's what children often do). The mapping from plain form to polite form makes total sense. The opposite is not true and complex sentences require that you master plain form, so this will reduce your effort considerably.
Also, learn to read. This is especially true if you are coming to Japan. Hiragana and katakana will take you a few weeks. Try to learn at least 100-200 of the most common kanji as well. This will take you only a month or so and it will make your life dramatically easier.
Learn full sentences and ignore grammar for the most part. I got to reasonable conversational level simply by memorising the example sentences in Tae Kim's grammar guide: http://www.guidetojapanese.org/learn/grammar. Use spaced repetition to help speed it up.
Get the JLPT N5 and N4 vocabulary lists and memorise them. Even N3 is useful. These are words that map pretty much directly with English without a lot of nuance, so memorising them is efficient. Otherwise learn vocabulary in context by reading. I recommend manga because it will give you conversational Japanese. There is no description in comic books -- only conversation. They are perfect.
Finally, get a phrase book and memorise some set phrases -- just to help you a long. Keep in mind, though, that a lot of phrases are regional and wherever you are going, they might say things a bit differently. Generally speaking you should be fine if you stick with common phrases, though.
I'm not entirely unaware of the literature in the area. I spent 5 years of my life teaching English as a foreign language. A large percentage of that time was spent doing research in language acquisition. As far as I am aware, ever since Chomsky the general consensus has been that there is no different mechanism for language acquisition in children than in adults. There are still some researchers who disagree, but that happens in every field and is healthy.
But, you aren't going to beat a child in learning a language unless you do some very specific things. That's because they spend 24 hours a day, 7 days a week learning language. Even when they get to school, their school work is primarily surrounding language activities until they get to be about 10 or so.
An adult's secret weapon is the ability to read. If you use that to direct your learning, then you can go quite quickly. Like I said, though, getting to an adult level of proficiency in less than 10 years is pretty difficult, but it's not impossible by any stretch of the imagination. The same level proficiency for a 10 year old child is very, very unusual.
For things like accent and getting tones correct all the time, that's a bit of a different story. Only about 2% of adult learners achieve native level proficiency in that kind of thing. But it's not something that will hold you back from normal communication. Event then, I'm aware of some specific language training you can do to help, but most people are not really interested in going that far.
I really enjoyed -- and benefited from -- "The Japanese Reader Collection". There's about 5 thin volumes available from Amazon. They're basically Japanese children's stories, written in Kanji with Furigana and lots of annotations. Every word and sentence is explained and translated to English.
I started off by simply reading the Furigana at normal reading speed, without caring about reading comprehension. This greatly helped with my kana reading. It especially helped me learn to cope with the lack of spaces in Japanese. Then I started to focus on the meaning. And now that I've memorized most the JLPT Level 5 Kanji, I'm starting to focus on recognizing them in the context of these stories.
After that, you need to be exposed to many, many different examples of that grammar so that you can understand the context in which it's used and the variety of shapes that it takes. The easiest way to do that is to read (and when I was "studying" Japanese I would read 2-3 hours a day).
In my experience, you need this exposure anyway, because memorising grammar rules allows you to construct sentences, but it does not allow you to understand how to use it properly in context. You have that awkward situation where you know you've said something correctly, but people are staring at you in confusion anyway -- because nobody says it that way.
I'm certainly not against learning grammar, if you enjoy it, but my experience has been that memorising a single exemplar and exposing yourself to countless examples (that you can understand) will bring you to fluency faster. There are an infinite number of ways to make grammatically correct sentences, but the idiomatically correct sentences is a very small subset of that (and actually disjoint since quite a lot of idiomatically correct language is not grammatically correct). Learning by example allows you to reduce the problem space dramatically.
Having said that, I know a lot of people really enjoy the process of learning languages by using grammar rules. If it works for you, then that's obviously the way to go!
Outside of work I program in Rust almost exclusively, and would love to hack on something with others.
I studied Japanese in high school, and I taught English in Hokkaido for a year, but I've since gotten rusty with my Japanese. I would love a study/accountability partner to pick it back up again.
Would recommend SILAC program which is mostly talking, even though I did the more formal class route, SILAC is probably more effective I think after learning more about how learning works
Good luck with Japanese. People often describe it as one of the hardest languages in the world, and you can understand why: three written systems and grammar and vocabulary that changes based on whom you're speaking to and what it's about. But once you learn the rules (and there are many), there are few exceptions compared to English. So it's a lot of work on the front-end. Don't let that discourage you.
He's learned Japanese (and like ten other languages), but his main value-add is general language learning advice.
And be confident! Japanese people are generally supportive and will appreciate your effort to use the language, no matter how successful it is.
The official documentation sucks and does nothing to illustrate how to use it in a real setting. I've tried to understand what it does and how it works about once a month for the past four months but I still don't get it.
Hopefully I can understand it soon, and further cement my understanding by writing a real example for people to learn from. It sounds very powerful and useful but damned if I know how to use it lol.
My first project stalled because of poor architectural decisions that overlapped with not-yet-profitable product-market fit (and too much networking instead of product work) and a baby. I learned that lesson and turned into a hermit to rewrite it completely - the market is there, but not immediately lucrative. I'm also writing something that makes money first. I'm hammering day and night with nothing else in my life but my family and the product. My second project is written in GO, wonderfully cheap to run, and about to be ready for launch. Not sure how to turn on that swagger button yet.
Selling to customers is one thing, but how/when do I start selling to investors and employees when few people know me in SV because I've been hammering instead of networking for almost 2 years straight.
I mean any random person, your Dad or Grandmother. Work out in layman's terms what problems your products solves, and how it is going to be a business.
Investors and even customers may not be at all interested in how GO is very quick at garbage collection...They want to know how your product will make them richer. Practice on laymen, practice a lot
I can relate to your comments, I was there about 18 months ago. You would be surprised just how many people talk about confidence (or lack thereof). Also, look for a good mentoring group. Find people that are on the same path (family / business / financial).
If I can help, my email is in my profile.
My app costs 40€, and is geared towards individual users. You don't need a sales team to sell a 40€ app -- just a few emails to announce your product on the right mailing list, and a few cold emails to key influencers.
And a lot of patience, because unless you are very lucky, noone will buy version 1.0.
I'd like to:
-Build a lisp that targets LLVM IR
-Build an HDL out of lisp that can be compiled into a simulation, as well as be compiled to a netlist for synthesis.
-Build a testbench toolkit out of that same lisp.
Do you have a blog ?
I know alot now, yet I'm struggling in some areas. For example, how effective surface a FFI for the language 9I'm with F# so is kind of easy, but how do that in swift/rust where reflection/dynamic calls are not easy?)
Digital Electronics using 
Operating Systems using 
Functional Data Structures using 
Graphics Algorithms 
Any recommendations for these subjects sincerely appreciated. Thanks.
The more you practice, the more you can, the more you want to, the more you enjoy it, the less it tires you.”
― Robert A. Heinlein, The Cat Who Walks Through Walls
also, in case you are not aware of it, there is always the nand2tetris [http://www.nand2tetris.org/] thingy (currently running on coursera btw). the book is also pretty good imho.
I think I should enroll for the Coursera thingy and have at least 1 certificate in my kitty ;-)
very cool :)
in case you want something more, i have _very_ fond memories of zvi-kohavi's book (switching and finite automata theory) as well. you might find useful/instructive.
About programming/work - I want to learn a little bit of Haskell and want to change my company, I also should make sure the code I write from now on should be Test Driven to some extend
The key is to learn to eat.
From what I can tell, the best way to achieve that is by consistently offering to help others with my skills. So I'm making it a point in the coming year to make blogging a part of my work routine.
Are any of you facing the same dilemma? I'd love to hear your insights!
I think part of it is that I'm not loud enough, and I think it comes from being an introvert. I'm confident, I'm not shy, and I know I'm skilled enough to work on lots of stuff, but when it comes to marketing myself, networking, small talk with strangers, or anything else like that, I just have the hardest time.
It also doesn't help that a lot of opportunities to meet potential clients are found in non-professional settings, and those events are usually centered around the consumption of alcohol in the presence of loud music. I cannot stand loud music and I don't drink alcohol, so the difficulties for me just seem insurmountable.
I've seen advice like, "If you charge high instead of trying to compete with low bidders, you'll be taken seriously," but then there's the issue of having 0 clients/reviews/ratings, which make it hard to command a high rate.
I did have one client on Codementor.io! He didn't give me a review, though, even though we had three sessions and he seemed to be super happy with my help :/
1. If you're going to blog (which I think is a good idea) make sure you have an opinion that is strongly held and/or differs from conventional opinion. If you only write vanilla stuff, you'll only attract vanilla prospects, which usually end up being a poor fit or boring to work with/for.
2. Take every opportunity to teach what you know. This can be through blogging, commenting on other blog/forums, podcasting, screen recordings...whatever it takes to teach something for free. This establishes you as an expert, provides no-risk value to prospects and has no barrier to entry, so it's a great first step to building a relationship with possible customers.
I have some libraries that I tend to rewrite for every new language I learn, but once I wrote something in Rust, its written once and for all, highly efficient and considerably safe, and I can use it from all other languages (node, elixir, ruby, ...).
And I have high hopes for webassembly to replace the brittle and overcomplicated frontend stuff in the next years, Rust should be the ideal candidate to write enterprisey stuff which must not fail.
I've got a huge movie collection on DVD. Rather then use Plex I made my own website to do the same thing. I have a lot of PDFs of books I want to read, made similar software to allow me to keep my position in my browser
I wanted to study for a HAM license general exam do I made this: http://ham.joshuakatz.me/exam
I've been looking for a thinkpad x220t so I made this go scrape cregslist for me:
(I live in N. NJ if anyone has one laying around)
There are thousands of examples where I've done this and it's very fun. It improves your abilities and toolings and in general makes your life on the computer much easier.
You don't have to be trendy just be useful to yourself and people will like it.
Most successful side projects come from people wanting to express themselves. If you don't have an idea that you want to build at the moment, don't force yourself, just enjoy life and only jump on it when you stumble upon an idea you really want to work on so much that you would even sacrifice your sleep time.
We had gone for a group outing, had million photos, less than 10 people in each photo, so didn't make sense to give the same photos to everyone, so wrote a basic app which would let me tag people and created eachone's folder and copied photo in it.
Starting a side project shouldn't be done by the goal of starting a side project, look around you, is there a manual process which you wish there would be a better way to do? sorting photos was one such way and I wrote an app for it. I did the same for a todo list manager, didn't have internet or any good todo list manager, so I wrote one and learned the Go language and the Vue.JS framework
Perhaps the problem is you're wanting a side-project for the wrong reasons.
This year, my girlfriend and I were using Google Sheets to track our expenses and compete to see who could spend less money. We eventually decided it'd be a way better experience if we had a dedicated app for it, so I worked relentlessly to build one and polish it up until I was pretty proud of it. I "released" it to a couple of online communities where I thought people might be interested, and I gained exactly 1 active user who I don't know in real life.
It's all good, though, because my girlfriend and I use it every day, so that's all that matters to me :D
But yeah, it can be difficult to "scratch an itch" if you feel that nothing needs scratching. If that's the case, I wouldn't really worry about it. If you don't need to build anything, then don't spend time building anything. It's nothing to feel bad about.
CS seems to have this feel around it where it has to be both your job and your passion. Recruiters want to see that you spend all your time outside of work/school programming, which makes it difficult for people like us who have other hobbies they like too. I wonder if it will ever change?
I'd like to learn how to sell a SaaS product to businesses. I'd also like to explore content strategy and marketing. As a software developer joining a new 2-person startup, this is uncharted territory for me. Looking forward to the experience.
Also you used the word "sell". Don't forget that sales is different than marketing. If you plan on doing real sales the book Predictable Revenue is great (though designed for slightly larger teams than just 2).
Good luck! And don't forget, NPS tools are good for brick and mortar businesses too.
I've got a few broad ideas for marketing - direct "cold-connecting" via LinkedIn, Angel; long term content strategies and Facebook/Bing ads.
Approaching brick and mortar businesses seems challening, especially since I don't have a background in sales. I have a feeling that online startups might be more approachable to begin with.
Adding Predictable Revenue to my next year's reading list. Thanks for the suggestion.
Once we have the entire workflow for NPS worked out, we can look at customizable surveys and other survey types.
2. Everything about building and using FPGAs to their potential.
3. machine learning / deep neural networks. I feel we are getting to a point where they are becoming more practical for a business to invest in.
4. How to survive parenthood, with #3 due in May, my son is 3 and my daughter is 2. I've been making it up as I go, but wow is it a lot of work!
So far I've been able to get a ping between two modules over a 10m range. Next up I'd like to transmit some useful data over longer distances (temperature for example), and then move on to devices that provide useful data (eg when a train passes a certain point to see if it's on time).
Going from the 'hello world' ping to data is an extremely easy step using the right library.
Using a Draguino Lora Shield + Hat combination, with the antenna which was in the box. Dunno what I'm doing wrong - what hardware and library did you use?
In my case, personal health has left me no choice.
Some poor medical advice and treatment, combined with my adversity to the whole topic -- yes, strong squeamishness combined with fear/observation that thinking about adverse events seemed (seems!) to instantiate them. That all has left me with a substantial health burden.
Meanwhile, in my experience the current U.S. health care system seems to be -- technological "miracles" aside -- making getting effective treatment ever more difficult.
So... As with everything else, it seems, you can't rely on expert consult -- even when you can afford it -- but rather have to learn and do -- or at lease prescribe and manage -- everything yourself.
So... biology. In other words, I need to belatedly read up on the owners manual. And find some hacks that help me.
As an aside, we're about to the point of molecular programming. So, maybe this will coincide with the current leading edge in technology, anyway.
Right now my life consists of Commute->Work->commute->gym->sleep. I actually don't look forward to weekends since there is nothing to occupy my mind.
Once you like something you'll look forward to continuing it in peace on the weekends.
But still doesn't leave much to do on weekends. I usually end up doing some work and going to gym. Not having a car doesn't help. :(
However, both activities are very valuable. Without looking at many things, how else can we know what is worth spending time to learn or do well? I currently feel that alternating between the two is good for a while. Perhaps later in life I will know enough to confidently work on one thing for many years :)
I've also found the tree trunk of knowledge model to be very powerful (I believe I heard of it on waitbutwhy.com). The best learning and understanding comes when we build it up in a tree like fashion, where each leaf or branch is supported by a stronger, more fundamental conceptual branch. At the core is the trunk & roots, which are the deep, underlying principles supporting the entire tree of concepts/knowledge/ideas.
Without a strong trunk to build off of, concepts and bits of knowledge float alone, ungrounded, and can wither or rot more easily.
I sound a bit more negative than I really am. I think both kinds of learnings (deep and broad) are useful, you just need to make sure you adjust your brain and technique of actually assimilating things to the type of learning you are doing.
I've learned quite a few languages/libraries/frameworks/methodologies this past year and while I don't feel like I'm an expert (or even reasonably well versed) in either of these, this broad exposure to vastly different things has stretched my brain in positive ways.
I'd just like to switch that trend for next year.
Though I guess that's still pretty similar concepts. I don't know if my poor math and history retention is a result of me picking up knitting :p
(I only say that because I cannot figure it out.)
Swift and/or React Native. Mobile apps are good.
How to use some basic ML in practice. TensorFlow based NNs would be good.
How to use the ShopBot at my local hacker space. Also how to use the laser cutter to make cooler shit than I already do.
How to sew. I want to make some one-off items but really don't know much about sewing beyond the real basics.
How to use a bullwhip India Jones-style.
Bonus: welding, how to change brakes on a car, how to rebuild a carburetor, how to make kombucha, how to keep bees.
This is really easy. In fact it's the easiest non-trivial repair there is on a car, because unlike other parts it's actually designed do be replaced as a wear part.
You'll need a jack, jack stands (pair), and a set of good socket wrenches (make sure you get 3/8 and 1/2 size - you'll need the larger sockets). A breaker bar and torque wrench are a nice bonus. You can get all of that at harbor freight for less than $100 (they do ship if you don't have one nearby). And considering the parts for a brake change cost around $100, but a shop charges closer to $600 it's a no-brainer financially.
I learned by checking out a chiltons repair manual from my local library and following the instructions. That works very well, and you can supplement by watching some youtube videos (not an option when I first started). (I would not do just youtube - you never know if they are skipping a step.)
Disk and drum brakes are all very similar within their type, so it hardly matters which model year chiltons book you get.
Like you, I'd also like to learn how to weld :) but the cost of the machine is too high to justify.
Total: $95.95 (including coupons, the home page has the coupon codes)
Ask grandma! My mom taught me, but it was an even more common skill with the older generations. Or I guess there's always YouTube.
Does your maker space have a 4th axis for the laser? You can buy clear pint glasses and etch designs onto them. Combined with a custom etched coaster it makes an easy, inexpensive gift.
Woodworking -> I'm going to have more free time this year so I want to get back into learning woodworking and actually building and finishing pieces. My first goal is to re-build my workbench and make it smaller so it takes up less room in the garage. After that, I have an idea on a stand that will go next to my couch.
Marketing -> I've created a software product that I'm selling and I want to figure out how to market better so that I can actually sell my product
Just look at HelloWorld. As for templating, I personally use Mako:
Mako is used by Reddit. A few months back I was hired to code a back-end API and I chose Python and CherryPy for the stack, never done as much web dev as I have since. Got a fully working app. Can't recommend much for MySQL, except either SQLAlchemy or PonyORM.
You can make a simple website / web service in CherryPy, and yes RESTful services can be made as well. I say start with basics. Even if you don't use CherryPy in the end, you can start testing it right away with the hello world example. Just don't forget to pip install cherrypy
For learning deployment, first download vagrant and try deploying on a vagrant box. Then, get a digital ocean account (here's some free server time: https://m.do.co/c/6dade5c581b8) and deploy on that. This guide is a good walkthrough: https://www.digitalocean.com/community/tutorials/how-to-set-...
Saw it posted by another HN user.
On top of that I want to learn industry game development techniques, including finally getting a solid grasp on C++. I've got a pretty strong grasp of systems engineering concepts and memory management since I'm very active in the Rust community but by the end of the year I want to be qualified to get a job in the games industry. Web development is not going to be my career, that's for certain. I'm reading through various maths-for-computer-scientists books, and I've got a bunch of highly-recommended game dev books (Game Engine Architecture, Real-time Rendering, looking at getting Real-time Collision Detection) in my library. I was an avid amateur mathematician in a past life, so although I'm rusty I'm getting back into my stride quite fast. If anyone has more tips on how to get your foot into the door in game development (engine/tools development, very specifically _not_ programming the game itself) I'd be extremely grateful.
* Security. What's my threat model and how should I address it?
How: socialize, be more outgoing about who I am, get back into sports and reach back to friends I've been letting down, build new relationships, trust people again. Just keep on building, doing and enjoying things for what they are, not what they might fail to be.
I'm also thinking about adding some 'classical' AI at the agent level of abstraction (not the lower DNN level). That probably means a bit of Common Lisp and an excuse for buying some used Norvig books. Like the formal topics from last year, this seems to be a domain that I bump into by trying to avoid it.
And also some Kubernetes, Docker in more detail, explore rkt and CoreOS, perhaps also get into details of linux kernel and finish a custom build from http://www.linuxfromscratch.org/
Get more depth into system security
If time permits, would love to learn more about Quantum Computing and explore if I can contribute in any way.
1. Cloud companies' best interests are not aligned with mine on issues of ethics, snooping.
I did the two functional programming in Scala courses on Coursera. I'm currently going through Martin Odersky's book and am in the middle of my first small project. I'm just starting to turn the corner on feeling productive and actually understanding what the hell I'm doing. If I am half as productive in Scala as I am in my main language (JS) by the end of the year, I'll be quite happy.
Time will tell how much of this I actually get to, but at the very least I'll be busy :)
The secret of learning Salsa (and other things) is that most people give up to early (after the 1st lesson, 2nd lesson). If you keep on going, the lessons that were hard for you in the beginning will become easy. If you keep going and get better and be (more) social and fun, the follower that you were intimidated to dance with will ask to dance with you... (the tipping point, an important milestone).
If you can take lessons with your wife and practice with your wife at home, that will make it easier. The hardest thing for single persons who start learning Salsa is that they don't have someone to regularly practice with. This is usually not a problem for the most dedicated beginners, as they block off their free time for learning salsa (multiple lessons a week all the way up to multiple lessons a day). The most social tend to progress the fastest, as everyone wants to be around someone who is fun and social. Salsa is a community, like anything else.
Addicted2Salsa has enough free lesson videos to keep you busy for a long time.
Start listening to Salsa music instead of other music, so you can pick up the '1' (or the '2') beat.
+ continue learning Clojure and build stuff with it
+ improve english speaking skills
+ read more, in english and native language
+ learn how to find clients outside of online freelance marketplaces
+ get away from ruby and rails
+ study more poker hands
+ learn to play chess better
+ learn about seo & marketing
+ bootstrapping a SASS product
+ make a few html5 games in clojurescript
* /r/chess is a great community.
* Chess.com is also good, particularly for their analysis tools and tactics puzzles in the app.
* Lichess is my favorite for actually playing games with other people.
* Queen's Gambit is clearly the most fun opening as white.
* Chess can be one of the most infuriating games in existence.
* "The Immortal Game: A History of Chess" is one of the best non-fiction books I've read in awhile.
If you want to learn the notes instead of learning them across the 6 strings, concentrate on learning them up and down the same string.
The octave is 2 strings higher & 2 frets higher.
The perfect fifth is 1 string higher & 2 frets higher. (Same shape as one of the movements of the knight/horse piece in chess :-) )
The minor third is same string & 3 frets higher OR 1 string higher & 2 frets lower.
The major third is 1 string higher & 1 fret lower.
On a normal tuned E-Bass this is valid for every string and every fret.
On Guitar you have to add "1 fret higher" if your start point is on string 1-4 (E to G) and the target is on string 5-6 (B, e) because the interval between string 4 and 5 is different (major third instead of perfect fourth).
Good Luck in 2017! My goal is also "continue learning Clojure and build stuff with it"
See here: https://www.justinguitar.com/en/IM-116-NotesOnNeck.php
Specifically, I want to learn how to:
1. Build and deploy an F# web app with Suave as the web framework and Fable on the frontend. I'm not quite sure what to use as a backend (I know and use Postgres, but am open to using something else).
2. Test my code using FsCheck (based off of Haskell's QuickCheck) by defining properties/attributes.
3. Use computation expressions
4. Use and build type providers
I'm a professional Ruby on Rails developer by day, so I'm interested in F# because it's so very different than what I'm used to. Plus, it has a lot of shiny tools/toys that I want to play around with and learn.
I collected a list of videos from some business conferences I really like, you might get some ideas in here -
Joking! I'm going to dive in it right away!
I have been develioping web and mobile apps for about 6 years and now I want to create something for passive income.
What I don't like is the prospect of losing static typing. Nor do my co-workers. We need to spend some time doing R&D.
In the meantime, my Twitter is in my profile, and I'm pretty sure I'll post a few snaps here and there :)
You can be the best developer in the world, in a job that leaves you alone and lets you write code, and you might get several times as much done as another developer. Or you can spend a little less time writing code and have a few productive meetings and discussions, resulting in far more development than you could ever do alone. And you'll still get to write plenty of code.
Personally I don't like these Emacs distributions so I might recommend the way I did my journey: first vim for years, then emacs+evil. You'll learn the bare emacs basics on the side. Now with Vim 8 having vastly enhanced IPC capabilities, Emacs might not be at such an advantage anymore. The amount of Vim users is staggering, and they have such energy. It's a nice community overall. (Not that Emacsers would be any worse.)
I have been doing scalable back-end systems for years and can tackle interesting problems quickly. But, with UI work, I am like an infant with crayons. It takes too long to go from desire to product.
- 10 seconds Free-standing Handstand: Practice 6-7 days a week, for twenty minutes, following the GMB Handstand progressions.
- 10 seconds advanced tuck back-lever on the gymnastics rings: Practice 3-4x week, following FitnessFAQs progressions.
- Bulgarian split squats, 4x12 50kg: I'll go with a somewhat linear progression -- work from 3x8 up to 4x12. When I do 3 workouts using 4x12, I'll up the weight by 2-4kg and start a new cycle.
- Books I'll read:
1. Gödel, Escher, Bach
2. Black Swan
3. The Society of Mind
4. Code complete (I'll read a chapter every week)
1. Work through "Writing an interpreter in Go"
2. Work through "Language Implementation Patterns"
4. Work through "Engineering a Compiler book"
5. Do the Kaleidoscope LLVM tutorial in OCaml
1. Work through HackerRank's Cracking the Coding Interview track: I'll do 3 challenges every day until I am finished.
2. Solve as many problems from LeetCode  as I can: I'll solve 2 problems every day.
3. Work through the "Algorithm Design Manual book"
Looks like a plan!
I'm currently working on wall leg flutters. My balance
improved a lot after I increase training frequency to 5-6 days a week (in comparison to 3x).
I learned in my early 20's and I did it in 6 weeks. Get the theory part out of the way ASAP.
When you have got your license is the time to watch out for complacency. The road is full of egos driving Audis, don't get involved. Keep a safe gap and you will deal well with uncertainty
Not necessarily in that order.
I'm looking forward to having both the technical skills and sales skills under my belt.
Read the challenger sale: https://www.amazon.com/Challenger-Sale-Control-Customer-Conv...
and read SPIN selling: https://www.amazon.com/SPIN-Selling-Neil-Rackham/dp/00705111...
Listen to the advanced selling podcast: https://advancedsellingpodcast.com/
I love podcasts so I'll give that a listen.
Formal study would be fine, perhaps at UC Davis' world class Viticulture and Oenology program. Or in Burgundy, France. But for now just apprenticing once a month at Wind Gap Wines in Sebastopol and seeing whence it leads
I'll start out with 100 days of drawing anything. After 100 days, I'll start trying to make them more tutorial-oriented. Then I'll start working on cartoons about Linux commands. I might also explicitly just imitate some of Julia Evans' stuff. I might do some maps of US revolutionary war battles or diagrams of contra dance steps. By the end of the year, I hope to have done at least a few illustrations for the Postgres docs.
Any suggestions on how to go about learning Mathematics requires for Machine Learning is more than welcome
But you don't have to wait to learn all the math to get going
This is a common mistake people new to the field make. You can be very successful by learning how to use machine learning frameworks, and that doesn't require lots of probability theory, mathematical statistics, and optimization. Not that it hurts.
vayarajesh, start using Tensorflow, you'll reach the ability to reason about problems to which machine learning can be applied, and how to apply it, much more quickly than starting by starting at the root of the tree of knowledge. You can always learn as much math as you want in order to dig as deeply as you want, but first get a sense of what you're dealing with.
Starting by learning the maths will mean you learn a lot of stuff which isn't directly relevant. Not the worst thing that could happen, but you'll be a hell of a lot more directed (even if you want to learn the theory - and I would recommend learning at least some) if you pick a decent ML course and learn the maths you bump into as you go.
http://cs231n.github.io/ is one of the best general hands-on introductions I've found. The TF tutorials are pretty good too if you just want to try some things out, but I predict that once you've worked your way through the TF tuts you'll still not really understand what's going on and will feel a bit like you just learned the magic words that made the black box dance some particular dances.
As for notation - https://en.wikipedia.org/wiki/List_of_mathematical_symbols is really good for when you stumble on something unfamiliar.
Do you recommend any good books or resources?