
Codesonic will turn you into a faster, smarter, more knowledgeable programmer. - jmarbach
http://www.codesonic.com/
======
msluyter
This resembles a fee based Anki with prebuilt decks.

For those of you who are unfamiliar with Anki, I highly recommend it as a free
-- for web & desktop clients, though the iOS app is pricey -- alternative to
the above. It also uses a spaced retention algorithm, and I've become
accustomed to simply keeping it open at all times. Whenever I learn something
new, I add it to the relevant Anki deck. This is the best way I've discovered
to fight the erosion of my knowledge in the face of the growing proliferation
of frameworks/languages.

~~~
Adaptive
Also, Anki 2 is in beta right now and the UI on the desktop end of things is a
real improvement.

The dev is _super_ responsive. I've used a lot of flash card apps and have
settled on Anki specifically because it's cross platform.

The Android app (third party) is still subpar in my opinion but that might
change if it revs with Anki 2.

~~~
michaelcampbell
Don't forget to also take a look at mnemosyne; <http://mnemosyne-proj.org>.

It's another free, well supported, SRS system that runs on a multitude of
platforms.

I used it daily.

------
jacques_chester
I find it fascinating how certain ideas are "in the air" and emerge
simultaneously from different directions.

About 18 months ago I was preparing to do an honours project and it was
necessary to prepare project proposals to circulate amongst professors at my
university. I prepared four. One of them was to develop a system like this one
and to test it on first year students.

My hypothesis was that, like natural language, artificial languages require a
command of grammar (syntax) and vocabulary (reserved words, library methods)
to create "fluency".

I proposed to test that hypothesis by dividing a first year class into two
groups, one using a spaced-repetition tool and one learning on their own.
Learning performance would be tested in two ways: looking at the scores of the
two groups, and applying various size metrics (SLOCs, gzipped size, Halstead's
etc) to their submitted code. The latter because presumably, a student who
knew the standard library well wouldn't reinvent too many wheels.

I didn't pursue the project because it wouldn't have been feasible to do in a
single year. There were also potential problems with contamination between
groups, non-compliance of the tool-using group and of course it would need to
go to the ethics board and the academic board. One professor suggested that it
would make a workable Masters project.

edit: I'd be happy to forward the proposal to anyone who wanted a squiz.

edit 2: Or not. I pretty much just summarised it above. The other proposals
were more interesting reads IMO.

------
dangrossman
The free alternative is to get on StackOverflow, favorite tags relating to the
language, frameworks and libraries you want to become more skilled in, then
stalk the "interesting" tab for however much time you can devote a day. It
becomes competitive quickly -- if you want accepted answers you need to be
both fast and clear while either citing references or providing working
example code.

Grab unanswered questions off the top of the page to work on breadth of
recall, grab older questions with bounties to work on more depth in more
complex topics. You work on real problems and write real code, which I doubt
any repetition of planned exercises can match.

------
anonymoushn

      It drills you on the syntax, classes and methods of your favorite languages and frameworks so you remember them forever.
    

I don't think this will make anyone an expert programmer.

~~~
pyre
The title doesn't say export. It says 'more knowledgeable.' I think that we
can agree that being more fluent in a language makes you more knowledgeable.

~~~
dangrossman
The headline for their front page is "the fastest way to become an expert
programmer".

------
AznHisoka
I'm sort of skeptical that this can make me a better programmer. Drilling
syntax will make me memorize the language, but it won't make me code better in
that language. For that, you need to work on a system/project, and make
mistakes. It's like learning a new foreign language. Drilling vocabulary words
may help me recognize bits and pieces in comics, and signs but won't help
tremendously in understanding the bigger picture like a conversation.

However, an interactive class like CodeSonic might work to get the basics
down.

~~~
scarmig
I'd say the foreign language is a pretty good analogy, though to the benefit
of CodeSonic.

For me, at least, when I learn a foreign language having the basic vocab,
phrases, and syntactic structures down to automatic is the most important
step. Sure, I won't compose great poetry or write the great $national novel in
it. But once you can start automatically thinking or writing in the language,
that's when you get to start building cool things with it.

Of course, it all depends on CodeSonic's implementation, which is everything.
I give it a 3:1 chance of being a CodeAcademy you've got to pay for. But I
signed up for emails anyway, on the off chance it actually is good, new, and
worth paying for.

------
james33
Is it just me, or do the screenshots make it seem like a Codecademy clone that
you have to pay for?

~~~
badclient
The feeling I got is if I pay 10 bucks a month, they will make content that is
generally much more insightful _to me_.

Codecademy etc. are focused on increasing _reach_ because of their business
model and goals. I def think there is room for more specialized paid
services(that run as profitable operations with a smaller goal than
Codecademy).

------
danabramov
If you need a website to help you memorize syntax and frameworks, you're
probably not solving enough real problems.

 _“What are the parameters that redirect_to will accept?“_

I've read numerous horror/funny stories about such questions actually being
asked on a job interview. Luckily, I never had to go through this.

Solving the real problems, learning to dig for the relevant information and
grokking new concepts (in this very order, I believe) is what turns you into a
faster, smarter and more knowledgeable programmer. Of course I would _love_ to
stop confusing _setInterval_ with _setTimeout_ but I would still rather spend
my time and money on learning something _new_.

I've always felt the same about learning foreign languages. Repeating words in
a vocabulary gets me nowhere. I memorize some of them but this memory is
short-lived. It actually takes you to “get” the language by actually _using_
it (reading, writing, listening and talking). When you are ready, there is no
conscious memorizing involved.

By the way, French isn't likely to change much in fifty years. Will the
current _redirect_to_ signature last a year?

I wonder.

------
padwiki
I think the pricing may be off a bit, but this is an excellent idea for a
couple of reasons.

First, the super-memo algorithm has been proven effective for more than 20
years, and can be very effective for building a wide base of programming
knowledge.

Second, much of learning has to do with cognitive load. Having a wider
knowledge of the capabilities of a language can reduce the cognitive load of
solving individual problems. Compare the ease of solving fizzbuzz with modulo
vs a home brewed solution. If the system can assist in building a base of
concepts then it might make individual tasks easier.

------
DennisP
Any idea which languages this will cover?

~~~
SpikeX
I had the same question. It's a shame that the site doesn't have any
additional information or links.

I'm also hesitant about the price... for $10 __a month __this service should
support a large variety of languages and offer a lot of in-depth questions for
each language. I can get the same knowledge elsewhere for free, so if I'm
going to pay for this, it should be worth it.

------
JGailor
I find it a little annoying when anyone promises something like this in the
headline, and then provides no direct action to take on it.

I was basically ready to open my wallet and at least try it for a few days,
but just throwing a signup form means I'm pretty much going to forget about
and never look again having been let down once already.

------
moocow01
This will make you fantastic at competing with and at the level of outsourced
sweatshops. One of the huge differences I've found between US/European
programmers and 'outsourced teams' is the former knows problem solving better
than syntax while the latter knows syntax better than problem solving. Id
rather be the former.

~~~
jacques_chester
It's not either/or.

Fluency requires mastery of grammar and vocabulary. Sure you can look up
everything you need on Google. You can also "speak" French with a translator's
dictionary.

Having stuff at immediate recall is an enormously powerful enabler of
creativity.

------
tazzy531
$120/year? For what?

The pricing/business model does not work with this especially when there are
so many free alternatives.

~~~
mattmanser
Bit premature to be saying that isn't it?

------
jdee
Jon from Codesonic here. To clarify, we are going to be launching very soon
with Ruby/Rails as the first language/framework combo we are supporting. Many
more coming. Follow the twitter account @codesonic if you want to track our
progress.

------
duncancarroll
Anyone else catch this in the footer:

"Please note: Codesonic concedes inferiority only to the lingering sparkle of
an eroding afternoon daydream."

+1 for funny, +1 for unexpected, and +1 for capturing my imagination

------
abecedarius
The sample question looks suboptimal for spaced repetition -- it's asking too
much at once. Still, I'll give them my email.

------
joshmanders
Put my email in, always good to improve your knowledge.

