The Sysinternals Suite has a utility for this: Desktops v2.0 [0].
645 karma · joined June 13, 2013
The Sysinternals Suite has a utility for this: Desktops v2.0 [0].
Edit: Even if a link is generated client side along with an access key, it's sent plain text and anyone who sees it can click it.
It's basically Scott bashing C++ in his incredibly informed style. He shares some of the parts of C++ that everybody hates: the gotchas. This is what he has been doing for a few decades now with his Effective C++ series.
The conclusion was that the last thing D needs is someone like him. Someone to explain D like he has had to in his Effective C++ series and talks. Some of the crowd comments that D doesn't need this because it has less gotchas.
I admit to being let down by the talk mostly due to my expectations of what this talk could be about. I was massively excited to see Scott give a presentation about D. In the end, it was hardly about D.
I invite you you to hop back into the book. I found it to be a fairly quick read for a technical book. The chapters are well motivated, and the code samples were well placed.
Since you have some additional experience with Erlang now, you might want to skip directly to the later chapters on libraries and frameworks, or on building real applications.
* Measure, then optimize
* Pay attention to data layout to keep the cache hot
* Techniques for devirtualization
[0] http://channel9.msdn.com/Events/GoingNative/2013/Writing-Qui...
No. He said there were no plans for generics, which has been the story for some time. The official FAQ still states [0]:
> Generics may well be added at some point. We don't feel an urgency for them, although we understand some programmers do.
> Generics are convenient but they come at a cost in complexity in the type system and run-time. We haven't yet found a design that gives value proportionate to the complexity, although we continue to think about it. Meanwhile, Go's built-in maps and slices, plus the ability to use the empty interface to construct containers (with explicit unboxing) mean in many cases it is possible to write code that does what generics would enable, if less smoothly.
It is my understanding that what Mr. Pike means by there being no plans for generic is in relation to the sentence
> We haven't yet found a design that gives value proportionate to the complexity, although we continue to think about it.
I was interested specifically in "using Racket's macro system to implement a slight variation of Algol 60", which is not what that section or the Racket guide section on macros [0] does.
It's not clear what was meant by "the Racket tutorial".
I heave heard that they do use Bing and Yahoo search APIs, but this could be incorrect.
I'm a big fan of the approach taking in Programming Languages: Application and Interpretation (PLAI). The Brown course from 2012 has video lectures available [2]. This one uses what is very close to Racket as the implementation language. It's typed, and called plai-typed.
The course these days uses the later chapters of Programming and Programming Languages (PAPL). This uses a new language, Pyret [3]. It's a bit more clear, due to the implementation language and source language having obviously different syntax, compared to plai-typed vs. the s-expression based language implemented.
[0] https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.htm...
[1] http://cs.brown.edu/courses/cs173/2012/book/
In a specific directory, I arrange notes according to subject in directories, and the script parses them and spits out HTML files that displays them in a fashion I find useful. With MathJax, I can render LaTeX. It also spits out an index files so I can see at a glance my subjects and notes on those subjects.
I've been giving some thought to doing something more involved, so I can get full text search capabilities from the index page. It's something I play around with every so often as the inspiration hits me. I will not be surprised if this posts leads me back to playing with it for a bit, although I am busy for the upcoming week already.
You can trivially get something similar with something like vimwiki [0]. The only reason I went further was that I wanted greater levels of customization.
[0] https://code.google.com/p/vimwiki/
Edit: The full text search from the index is just a nicety given the way I like having the notes displayed. I can already grep from the command line, of course. I have other ideas about nice-to-have dynamic behaviour, but a lot of the stuff falls into the lower percentages of the 20% of the 80-20 split.
In The Pragmatic Programmer, one of the tips advocates keeping knowledge in plain text:
> Keep Knowledge in Plain Text
> Plain text won’t become obsolete. It helps leverage your work and simplifies debugging and testing.
The full text expands on the benefits, such as searchability and other stuff I can't recall at the moment.
I try to stay as close to possible to plain text as I can. Even Markdown is a bit heavy for the task, although I have given some thought to adopting it and avoiding needing any custom parsing.
Lastly, I wasn't clear why I output to HTML. I put them up on a server so that I can access them remotely. I can also upload notes, or input a quick note to a textarea and submit it. It's device-agnostic; I just need a browser. I haven't bothered to implement making currently existing notes editable.
That being said, I believe a big draw is its metaprogramming abilities. In Nimrod, metaprogramming is done using Nimrod. In C++ you have the very limited, backwards compatible to C, C++ preprocessor and template metaprogramming. C++ is progressing slowly towards metaprogramming in C++ with constexpr. constexpr support is much stronger in C++14.
D is similar. In D, the metaprogramming language is (I believe) D itself, or at least very similar to it. D also has strong support for compile time function execution.
Nimrod also does a lot more to guarantee safety. C++ can only do so much, due to its (mostly) backwards compatibility to C.
While lots of projects in Hasekll continue to be libraries written for Haskell, there are also lots of languages using Haskell for their implementation language. Browse the GitHub trending repositories listing for Haskell [1] for an idea of what is being done with it.
To be fair, Code Fellow seems to be upfront about this, since only 88% of successful applicants actually graduate.
Edit: More related to your point above, they are also up front about previous degrees held. 82% of their students had degrees before entering their program.
It's weird to me, because I don't think being nervous around people you're not familiar with is at all odd. Plenty of people I have worked with are very shy around new people, but absolutely open up as you get to know them. I don't think many of them at all are with any significance "on the spectrum", ignoring the trivial argument you can make for everyone being on it to unnoticeable degrees.
However, I would just like to say that I am very happy to see Timothy Gowers is still on this case.
For the other people looking, Stroustrup's A Tour of C++ [0] is the guide for getting quickly up to date with the "new C++", C++11 and onwards. It doesn't specifically cover C++14, but if you understand C++11, the few things coming in C++14 are for the most part minor enhancements to what is in C++11.
Scott Meyers should finish up the C++11/14 version of the Effective C++ series this year, and many are waiting for this. For now, his notes Overview of the New C++ (C++11/14) [1] are available for purchase.
If you like videos, there is a wealth of information from last years GoingNative conference [2]. More recently, at this years Build conferece, Herb Sutter gave a presentation on Modern C++: What You Need to Know [3].
Finally, come visit up over on reddit in /r/cpp [4]. Some heavyweights in the C++ world participate there, and the larger portion of participants are similarly knowledgeable in C++ as a whole.
[0] http://www.amazon.com/Tour-In-Depth-Series-Bjarne-Stroustrup...
[1] http://www.aristeia.com/Licensing/personalUse.html
[2] http://channel9.msdn.com/Events/GoingNative/2013?direction=a...
* The Confreaks homepage at http://confreaks.com/
* The Confreaks listing by conference at http://confreaks.com/events
* The list of recently added videos at http://confreaks.com/videos
The last one is a bit hidden, as you get to it by clicking on Search on the main page
Do you generate tags and hop around functions as you discover them? Do you do a high level overview of the important bits first, and then dive in later? I am sure it is different for everyone, but would still be interested to read about others approaches.
I've had this idea for awhile about bringing up a project in a methodical way in its source control history, and adding new features in a similar manner, so that it would be easier to introduce a codebase to those starting out in it. The problem with lots of large codebases is that as time goes on, configuration details or special cases are added on that obscure the meat of the program. If it were trivial to see the early version, and its evolution, it would be easy to pick out the mental model of what the code actually does.
It's really slow (unusable) at the moment due to, I reckon, being on HN. Do revisit it later!
I have had some issues with it in the past when importing just iostream and trying to see the output for a small example. The combined source is too large, and GCC Explorer refuses to compile and show the assembly sometimes for even small examples.
Do play with the settings. Colourise is especially nice.
The code is on GitHub [0], so I suppose you can self host it, although I have not tried to do so yet.
If you would like to read more about this, the author of this article has another blog post [0] that discusses the Susskind paper "Computational Complexity and Black Hole Horizons" [1] in its first half.
They key point, for those who don't have time to read the post:
> On one side of the ring is AdS (Anti de Sitter), a quantum-gravitational theory in D spacetime dimensions—one where black holes can form and evaporate, etc., but on the other hand, the entire universe is surrounded by a reflecting boundary a finite distance away, to help keep everything nice and unitary. On the other side is CFT (Conformal Field Theory): an “ordinary” quantum field theory, with no gravity, that lives only on the (D-1)-dimensional “boundary” of the AdS space, and not in its interior “bulk.” The claim of AdS/CFT is that despite how different they look, these two theories are “equivalent,” in the sense that any calculation in one theory can be transformed to a calculation in the other theory that yields the same answer. Moreover, we get mileage this way, since a calculation that’s hard on the AdS side is often easy on the CFT side and vice versa.
There is something to be gained from synchronous conversation, but what you've listed can be done asynchronously.
In either case, my point was IRC doesn't have to always be synchronous. When you're both available, the conversation can be synchronous.
I agree that there is a huge benefit from having a synchronous, spoken conversation, but my reply was contesting that "Understudy gives you is a one-to-one relationship with another person who cares" in contrast to IRC. IRC can do exactly that, so what sells Understudy is certainly something different.
You're not being fair to IRC. IRC can just as easily give you a one-to-one relationship with another person who cares. Private messages exist, among other means. Moreover, the experience can be completely asynchronous. You don't have to both be available to make progress.
The main benefit of something like Understudy is to mediate the introduction of users to mentors. There is something to gain from a sustained conversation with the same mentor, but Understudy can make no more guarantees about the availability of your mentor than IRC can. Furthermore, that both the mentor and the mentee have to pay $5 if they're using the app more than two hours a month demolishes the potential userbase, not to mention that you also need an iOS device. IRC is multi-platform, free, and already attracts the sort of individuals that would be capable and willing to mentor users in something like SICP.
There is also Real World Haskell [0]. It's a lot less long winded than LYaH, which is good or bad depending on how you like to digest information.
Also, check out FP Complete's FP Haskell Center [1]. It contains community written tutorials with inline runnable code examples, so you can really get a feel for Haskell by manipulating and playing with the examples right on the site.
Ah, that's a shame. I actually just mentioned the tutorial as an awesome resource in another comment.
Maybe my understanding of the Rust language isn't as good as I thought it was, as most of it comes from reading the tutorial and the related guides linked at the end.
I'm a big fan of high quality documentation, and I assumed since the current tutorial was so well written, it was being handled actively already. This is actually one area I would love to step up and help Rust with. I've previously gone so far as to read some of the compiler implementation, but my experience with programming languages is still stuck in the interpreters stage, so it didn't get very far.
Plenty of people are suggesting Rust for Rubyists, which is a good resource. I personally found it too simple, which is not a reflection on the resource but instead what I was looking for. It is likely to be exactly what plenty of people are looking for.
I wanted to give some motivation for keeping on at the official tutorial. Some of its contents went over my head initially as well, but I read it again a couple of weeks later, and everything clicked into place. It's a really awesome guide to the language, and the links at the end to guides to various more specialized parts of the language are similarly awesome.