The developer recently had a home tour where you can see this software in use
HN user
cdelahousse
Third year Comp Sci student at Carleton University in Ottawa, Canada.
Min-Max Heaps
Think of them as double ended priority queues. O(n) construction with O(lgN) mutations. Both the min and max elements are quick to get O(1).
The paper is short and the data structure is elegant. I read it a few years ago in uni and made me appreciate how greatly useful can be implemented very simply.
The top of My Todo List (http://www.paulgraham.com/todo.html), but more specifically, what Graham linked to: The Regrets of Dying (https://bronnieware.com/regrets-of-the-dying/)
It is a succinct summary of what, with the benefit of hindsight, many people thought was important in their lives and what they should have done better.
Absent is "I should have worked harder" and "I should have spent more time at the office".
Oh man. This course brings back so many memories of suffering through this material. But I can't emphasize how important this stuff is to know if you want to know anything significant in Computer Science.
What helped me ace the the exam was doing a hundreds of problems. I couldn't answer them most of the time, so I'd need an answer key nearby to get unstuck.
Drill, drill, drill. Just like you'd expect to drill for calculus, you can drill for this class.
What I found helpful was Rosen's "Discrete Mathematics and Its Applications". The material wasn't the best, but the problems are excellent. You can buy an older edition of the book and its solution manual for next to nothing on used book sites like abebooks.com
Looking over the second part of the MIT course, I see that a lot of the same material is covered in this free textbook.
If some of you feel a bit overwhelmed with the material, you may be well served by watching the first few lecture's of the following playlist:
https://www.youtube.com/channel/UCG96LXNYz9x7eTqSRtQ2R9A
It is Carleton University's freshman/first year Discrete Structures/Math course (COMP1805). They cover a lot of the same material, but at a more leisure pace and assume a lot less background.
Learning those topics will not be a waste of time. You'll see them come up time and time again on your path towards more CS topics.
OP here.
This textbook is being taught as a second year discrete math course at Carleton University. I found it to be really high quality, and on par with similar sections from the Rosen or Epp texts.
Oh... Also, it is free!
Actually, the first class is now Java and C++. Morin isn't teaching Python any more.
"Functional" programming is taught in third year (COMP 3007), but you don't get too deep into it.
My issue with the listed classes isn't the chosen languages. A commenter mentioned that you can learn a lot of functional (and other) concepts in a procedural or object oriented language. My issue is that I basically learned the same concepts over and over again, just using different programming languages. You learn to iterate over a multidimensional array in Java, and then you do so again with C, but you have to deallocate and reallocate, and then you do it in C++, but you create an object for the array. It's all the same stuff.
99% PI is what introduced Kowloon. The show did an amazing job of conveying just how special that place was. It is an great pod cast that captures the majesty of day to day design and architecture.
It is unfortunate that the images don't work on the episode page.
This sounds a lot like a home/urban oriented WWOFing (http://www.wwoof.net/) and a bit like CouchSurfing.
I'm in my last year of Comp-Sci. I started the program as a self taught adult. I can say that very little I've learned in school has been useful for the internships and jobs I've since had. That being said, I would never trade the CS experience for anything. It gave me context and a greater understanding of the field. I can now tackle harder problems because the program gave me the tools to do so.
But this is all stuff you can learn on your own. Assuming you know how to program already, my suggestion is find out what a local university teaches 2nd year students. Find their curriculum and see the classes they offer.
Typically, 2nd year is when you go beyond the basics of programming and start scratching the surface of really cools stuff like fundamental algorithms and data structures. If you can learn this stuff, you'll have enough context to determine what else you need to learn.
FYI, here's an amazing open source textbook on data structures: http://opendatastructures.org/
The book was written by Pat Morin, a prof at Carleton University in Canada, because other texts were too expensive. It's used to teach a first undergraduate class in data structures. He's open to any additions. Just fork the github project linked on the site.
The first data structure, the Compact dynamic array, is explained beautifully for an undergraduate audience, in Pat Morin's Open Data Structures open source data structures textbook. He calls them rootish array stacks.
http://opendatastructures.org/ods-java/2_6_RootishArrayStack...
Just remember that Wind and Moblicity are on a different network than Rogers, Telus, Fido and Bell.
My experience with Wind is that the reception is my city (Ottawa) is terrible at best. I'm considering switching to Moblicity.
Buddy, you had the balls to take a risk. You fell on your face, but at least you took the risk. You did more good in that failure than most dreamers do in their lives. That willingness to put it all on the line will probably serve you all your life.
And all your life is what you have ahead of you. Dying at 20 would be such a waste. Especially for a lad that has balls the size of grapefruits who's willing to follow his dreams.
Woops. Pardon me.
Could you please upload it to vim.org for posterity? http://www.vim.org/scripts/index.php
This'll get mirrored to the vimscripts github account and then let us install it via the Vundle vim package manager.
Thanks for the cool plugin!
That was a problem with the t400s and t410s that were manufactured for a period. The problem is now fixed in newer t410s and all t420s.
I love my Lenovo t400s. I went around the world with it, dropped it, smashed it, and just did terrible things to it. And yet, it keeps on chugging along. My t400s is like a car that never wants to die. The consumer in me wants to upgrade but I can't find a sensible reason to do so.
It's like my mother: always present, reliable and stable. It's the only piece of hardware that ever made me smile.
I'm a lenovo fan fo lyfe!
Here's another example of vi being completely exported to Javascript, but without the canvas element.
http://gpl.internetconnection.net/vi/
What disappoints me about all these implementations is the absence of text objects, though. I love getting edition words or parentheses using commands such as caw and ci"
I think by stop doing 'stupid shit', you mean learn the fundamentals properly.
That's what your piano teacher beat into you (not out of you). That's what those chess drills taught you.
Fundamentals.
Fundamentals are never taught properly for anything.
I say this a programmer, a former music student (university level) and someone who's learned alot of shit.