The question was about a tutorial for programmers. What would French brings in this context? There were some variants of basic in French, but nowadays I'm not convinced French is useful but for reading comments.
I think the original question lent itself naturally to the interpretation "what are you hoping to learn about this year?" rather than what might have been intended "what topics would you like me to put into my programming tutorial?". (You could read the original question as something like "I'm going to learn about programming by teaching people about it; what are you going to learn about, and how?".)
I'm French myself and would like to improve my frontend/design skills and my marketing/salesmanship skills, or just trying to get rid of my French accent when I speak, so maybe we can help each other... My email is in my profile if you're interested.
- Deduction system, in particular as relating to logic programming such as Datalog. This is more or less in link with my research interest in programming languages - I feel like these techniques could have a lot of implication in compilers.
- Front-end programming using javascript. I'm always intrigued by all the conversations surrounding React, Angular, etc... There is a background I lack to see why such convoluted solutions are need, what problems they fix.
- Fundamentals of machine learning, esp. neural network (I have some clues about things like Bayesian filters). It just seem like something that could be used in practice if one knows how to roll with it.
I'd be more interested by pointers for Javascript front-end principles, because I feel like I'm lacking some background to understand much of what I'm encountering, whereas there's quite a bit about machine learning (which I haven't checked, still I have good hope it covers the fundamentals).
Everything. That's the problem, I want it all, and I want it now (as they say). Basically, I need somebody to invent the interface from The Matrix so I can have Tank dump jiu-jitsu, kung-fu, and a pilot program for a b-212 helicopter straight into my brain.
That said, in terms of prioritizing, I'll be spending a lot of time this year on topics related to data science, big data, machine learning and AI. Taking some stats classes online, and particularly interested in finally getting a handle on Bayesian statistics and then exploring things like Bayesian Belief Networks, etc.
Also, I've been doing a lot of stuff with R and Octave the past few months, so more of that for sure. May try to pick up some Julia at some point, and I bought a Swift book intending to at least dip my toes in the water with that. I still want to learn to use some things like Prolog, Mercury, CLIPS, OPS5, etc. as well.
Access to the collective knowledge of humanity equates with uncountable paths not taken!
I know someone with 4TB of textbooks and course lectures.
Probably the most important habit learned during my (first year of) PhD:
1. Make a list of books you want to read
2. Break up each into reasonable blocks (#_pages/#_chapters is a good unit) and write as checkboxes to cross off to keep you motivated
3. After filling up two pages or more, reconsider step 1
Another observation, for those not bored yet: Planning each minute will give you anxiety, planning every decade will not be as effective. Multiple timescales can help.
I know someone with 4TB of textbooks and course lectures.
Heh, is your friend me? :-) OK, not sure if I have 4TB of stuff or not, but if I totalled up all the books, videos, etc. I have downloaded and stored here and there, I'm pretty sure it's in the TB range. The most frustrating part, to me, is the lack of time to read/study everything I want to study. I think that's one reason the Coursera classes work so well for me - they force me to pick something and focus on it to (near) exclusion for a defined period of time. Otherwise, I tend to wander around a bit too much. :-(
Ha! I know how you feel! Check out "Learning how to learn?" (https://www.coursera.org/learn/learning-how-to-learn) - it's an excellent course that may help you out. (Though not with jiu-jitsu, kung-fu, and b-212 helicopter piloting I'm afraid :-)).
Haskell. I am currently reading haskellbook.com but I am kind of stuck with the first chapter about Lambda Calculus. If anyone knows a good advice/link/tutorial about it, that would be great!
The book Types and Programming Languages has a nice treatment of the lambda calculus. It looks intimidating, but it's really pretty simple conceptually.
as a productive intermediate+ haskeller, I found the first chapter very confusing. Try your best but just move on to the second and see if it gets any better
Anything specific that you found confusing? I actually thought the first chapter was a great start. I'm sure the authors would appreciate the feedback.
Lambda calculus was tough, but working through the problems helped a lot. That book is great for most explanations, but if at any point you are stuck, just google alternate explanations. I think getting multiple explanations helps with grokking any concept.
It's paid, but I personally think Haskell Book[0] is much better. I can say its better in both helping form a deep intuition and teaching how to use Haskell in the real world.
A lot of my imperatively biased coworkers have bought this book and have no complaints. Some go as far as claiming it's the Haskell K&R and I'm inclined to agree.
0: http://haskellbook.com (for those struggling financially, the authors request you contact them to work something fair out)
Nodejs is actually pretty easy to pick up. Any reason you don't want to get into it?
Elixir and Clojure are also fascinating to me. Is there anything in particular you feel would help you more than the existing tutorials? Projects/quizzes/follow-ups/...??
I want to learn more German and more javascript.
I took german in high school 20+ years ago but sucked at it and struggled through it for my language requirement in my phd. A decent amount of literature in my field is in German so I want to get better at translating it. I'm doing duolingo.
I went through the javascript program at codeavengers last summer and now I'm looking to build on that.
thanks. I understood about half of that! :-)
I don't really want to be better at speaking it just reading it (of course I know one would help the other)
The Goethe Institut definitely believes in "whole language" and they consciously practice reading, writing, speaking, listening, and grammar and vocabulary study during every single class. If you don't want that, it's indeed probably not your best best.
(Also, there's kind of this subtext about language skills for living in Germany, because a lot of the class activities are about roleplaying stuff like trying to rent an apartment, visit a doctor, order food in a restaurant, or go clothing shopping in Germany.)
The currying part is the variable that you give to the first function. In the first function the prefix variable is stored in the local scope of the big arrow function that is returned. This ability of functions to remember variables from the scope in which they were created is called closures, and storing a variable like this is a closure. Using closures to generate functions with preset variables is currying.
I hope it's not too late to start, but I'd like to learn Go, the language. I've been working with PHP and Node for far too long and need something not interpreted.
I _really_ enjoy Go. As jfoutz said above, Go is like a "better C". The "Tour of Golang"(https://tour.golang.org/welcome/1) is a really good place to start.
Is there anything I could write that would make it _easier_ for you to learn? Taking up project/quizzes/follow-ups...?
I'd really like to learn more about radios and RF electronics. I have a pretty good understanding of the system level concepts behind radio, and I have enough EE concepts down to understand things like amplifiers and filters, but chaining all of that together into a working system is above my level of understanding.
I think I have a small problem in that I don't know where to start. I don't know how to bridge the gap between block diagram understanding and detailed circuit schematics and diagrams.
Long shot, as this is a mostly programming based thread, but hey, I've gotten lucky before. Maybe I will again?
I'd recommend trying to build something relatively simple (e.g. an AM transmitter) from scratch and just enumerating all the questions you ask in the process. Then finding the real answers to those questions and the whys.
I've thought of trying that, but part of my stumbling block is that I'd need an oscilloscope to debug the thing when it wasn't working, and those are sort of expensive. (At least, the decent ones are. About $1k or so to start.)
Digital ones are expensive but you can get an old used analog scope pretty inexpensively, and often they'll do the job. At least for relatively low frequency projects. Call your local universities surplus department and see if they have any or expect any to come in soon.
German, Swift, Blender, Unreal Engine, C++, how to fly helicopters, improving fixed-wing aircraft night landings, Jiu Jitsu, deep sea diving, breast stroke.
I learnt C from scratch. I'll be using C++ heavily in Unreal Engine, but I'd like to make a standalone project to demonstrate my proficiency in the language.
ML/AI and actually proficient in a functional programming language like Elm or Haskell so I can write more functional JavaScript. Got my Coursera for ML! Just need more FP experience!
How to stop mumbling. I've tried before and always given up because I sound like a robot when enunciating. But I'm tired of people asking "what?" I'm going to fix it this time.
Oh man! I _so_ identify with this problem. I've been struggling with it for ages. Lately I've been trying some voice exercises and they have helped a bit but I still slip back when I'm not thinking about it.
The top two are on my list as well. The tricky part is that my "good code" is someone else's "bad code" and vice versa. Slowly trying to introduce functional concepts into a team of developers who are used to working with what can only very loosely be described as MVC.
While you're at it a style guide may be in order. Try to convert your team's current patterns into the set of new patterns that you think are better. This would help to give others a sort of rosetta stone while they're making the switch. I always try to add a why after each good vs bad code comparison.
Having a document external of your brain helps others to feel like they have a tangible set of goals instead of some arbitrary set of goals that nevon wants to have happen. I made my team's style guides repos on github so it's super easy to edit since it's straight markdown. Keep the pedantic discussions to a minimum. Sometimes it's just best to choose something because it's a single way of doing it.
I have been thinking about problem (1) off and on for the last year. The best strategy I've come up with so far is to set up a ritual that I will end the day with 10-30 minutes of code cleanup. Being systematic about it helps me get acquainted with a lot of the code while clearing technical debt.
This is exactly what I've been doing. I'm trying to make it an every day ritual, time permitting of course.
My main approach for this is to create a long term goal for a relatively small unit of untracked work. For example I've identified that our common folder for our front end code is not broken up into logical units. So every day I try to hop in there and simply reorg the folder structure. While I reorg I'm exposed to the files, what they do and whether or not they are actually being used as well as how they're being used.
This is enough to learn about what other people are doing/have done and helps me to identify other refactor goals as well as architectural goals.
Another idea that I've found if you're on a longer release cycle is a post release mental hook. Once the team has deployed the latest bits, I try to hop into main and rip out or refactor code that may be more sensitive. This gives your more risky changes a much longer time to get eyes on them before the next deploy.
I'm currently working through the book Programming Phoenix and it's going well.
I would love more video tutorials because I personally prefer them to books. There was one where Chris went through building a chat app, but it's very outdated now.
Too many things! Write a compiler, master Angular 2 and TypeScript, learn much more about systems design and scalability. Maybe even some machine learning.
126 comments
[ 3.2 ms ] story [ 186 ms ] thread- Front-end programming using javascript. I'm always intrigued by all the conversations surrounding React, Angular, etc... There is a background I lack to see why such convoluted solutions are need, what problems they fix.
- Fundamentals of machine learning, esp. neural network (I have some clues about things like Bayesian filters). It just seem like something that could be used in practice if one knows how to roll with it.
Amongst the two, which would you say interests you more?
Deduction systems: see https://www.youtube.com/watch?v=R2Aa4PivG0g for instance.
That said, in terms of prioritizing, I'll be spending a lot of time this year on topics related to data science, big data, machine learning and AI. Taking some stats classes online, and particularly interested in finally getting a handle on Bayesian statistics and then exploring things like Bayesian Belief Networks, etc.
Also, I've been doing a lot of stuff with R and Octave the past few months, so more of that for sure. May try to pick up some Julia at some point, and I bought a Swift book intending to at least dip my toes in the water with that. I still want to learn to use some things like Prolog, Mercury, CLIPS, OPS5, etc. as well.
Access to the collective knowledge of humanity equates with uncountable paths not taken!
I know someone with 4TB of textbooks and course lectures.
Probably the most important habit learned during my (first year of) PhD:
1. Make a list of books you want to read
2. Break up each into reasonable blocks (#_pages/#_chapters is a good unit) and write as checkboxes to cross off to keep you motivated
3. After filling up two pages or more, reconsider step 1
Another observation, for those not bored yet: Planning each minute will give you anxiety, planning every decade will not be as effective. Multiple timescales can help.
Heh, is your friend me? :-) OK, not sure if I have 4TB of stuff or not, but if I totalled up all the books, videos, etc. I have downloaded and stored here and there, I'm pretty sure it's in the TB range. The most frustrating part, to me, is the lack of time to read/study everything I want to study. I think that's one reason the Coursera classes work so well for me - they force me to pick something and focus on it to (near) exclusion for a defined period of time. Otherwise, I tend to wander around a bit too much. :-(
Try keras + Tensorflow
Edit: And yes, it's an awesome book.
http://learnyouahaskell.com/
A lot of my imperatively biased coworkers have bought this book and have no complaints. Some go as far as claiming it's the Haskell K&R and I'm inclined to agree.
0: http://haskellbook.com (for those struggling financially, the authors request you contact them to work something fair out)
That said I don't believe you need to understand the Lambda Calculus to grok Haskell.
I would also like to improve my JavaScript chops but can't see myself diving into Node.js. Will probably try to familiarize myself with ES2015.
Elixir and Clojure are also fascinating to me. Is there anything in particular you feel would help you more than the existing tutorials? Projects/quizzes/follow-ups/...??
I went through the javascript program at codeavengers last summer and now I'm looking to build on that.
Haben Sie schon daran gedacht einen Kurs zu machen? Gibt es z.B. ein Goethe-Institut wo Sie wohnen?
Die Kurse, die sie anbieten, sind etwas teuer, aber nützlich.
(Also, there's kind of this subtext about language skills for living in Germany, because a lot of the class activities are about roleplaying stuff like trying to rent an apartment, visit a doctor, order food in a restaurant, or go clothing shopping in Germany.)
What part here is Currying?
Is there anything I could write that would make it _easier_ for you to learn? Taking up project/quizzes/follow-ups...?
I think I have a small problem in that I don't know where to start. I don't know how to bridge the gap between block diagram understanding and detailed circuit schematics and diagrams.
Long shot, as this is a mostly programming based thread, but hey, I've gotten lucky before. Maybe I will again?
Also, Tensor Flow. How do I set that up myself?
https://www.toastmasters.org/
- How to prevent more bad code from being written in a team setting.
- How to architect applications at a higher level.
- How to mountain bike like a beast.
I feel your pain...
Having a document external of your brain helps others to feel like they have a tangible set of goals instead of some arbitrary set of goals that nevon wants to have happen. I made my team's style guides repos on github so it's super easy to edit since it's straight markdown. Keep the pedantic discussions to a minimum. Sometimes it's just best to choose something because it's a single way of doing it.
My main approach for this is to create a long term goal for a relatively small unit of untracked work. For example I've identified that our common folder for our front end code is not broken up into logical units. So every day I try to hop in there and simply reorg the folder structure. While I reorg I'm exposed to the files, what they do and whether or not they are actually being used as well as how they're being used.
This is enough to learn about what other people are doing/have done and helps me to identify other refactor goals as well as architectural goals.
Another idea that I've found if you're on a longer release cycle is a post release mental hook. Once the team has deployed the latest bits, I try to hop into main and rip out or refactor code that may be more sensitive. This gives your more risky changes a much longer time to get eyes on them before the next deploy.
I would love more video tutorials because I personally prefer them to books. There was one where Chris went through building a chat app, but it's very outdated now.