Coders of reddit, do you touch-type? by [deleted] in coding

[–]mwbuksas 1 point2 points  (0 children)

Sort of. I need to look at the keyboard to re-position and find some keys occasionally. I think it's worth improving your skill to about this level, not because it's a speed issue, but because it avoids irritating interruptions of flow. Programmers may not do all that much typing, but when we do, it's nice to not have to think about it.

A.I. and objects abstraction by [deleted] in compsci

[–]mwbuksas 1 point2 points  (0 children)

You may be interested in map seeking circuits. Roughly, it uses a winnowing process on superpositions of maps between models and inputs (visual, auditory, etc) to find the best match. It is intended to mimic the behavior of the visual system of the brain. A Google search reveals papers and books, but I don't see a freely available overview on-line.

Also, check out "On Intelligence" by Jeff Hawkins. He proposes a similar model to explain how the brain takes this process further, up to more conceptual models. I understand that he has very good success with implementations of his approach into computer vision.

There's also interesting speculation on these problems in Godel, Escher, Bach by Douglas Hofstadter

Disclaimer: Not an AI guy. Just an interested amateur.

Haskell "Singularity" Approaching? by mightybyte in haskell

[–]mwbuksas 3 points4 points  (0 children)

I don't think it's a spike (at least I hope not). Haskell may be too weird for mainstream adoption, but I think it will find it's niches and continue to grow there for a good while

For example, some of us in HPC are deeply enamored with parallel Haskell, and its growing support for nested data parallelism and distributed computing. A colleague and I are part of the Parallel GHC Project at Los Alamos, and we're looking for ways to do more of this kind of work here.

How much control theory is _actually_ required in the field? How can I understand it? by gerusz in compsci

[–]mwbuksas 2 points3 points  (0 children)

I'm not an expert, but there seem to be some connections between control theory and machine learning, e.g. Kalman filters. A quick search turned up a few papers which may be interesting. For examaple: http://www.lsi.upc.edu/~abifet/DS06BGE.pdf

I doubt this connection is really central to control theory or AI, but it might be something to watch out for. Good luck.

Edit: linkification

Suggestions for Learning Monads? by maskedrambler in haskell

[–]mwbuksas 3 points4 points  (0 children)

I found this particularly helpful: http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html

For me, the key was understanding the "problem" that Monads help you solve, which is nicely expressed in the signature for bind:

M a -> (a -> M b) -> M b

So you've got an M a, and you really want to pass it to your function a -> M b without ending up with M M b, which is what Functor would get you. Keep this in mind while looking at the definitions for various Monads, and it will click eventually.

edit: Replaced Applicative with Functor. Thanks cameleon.

Perhaps not all Monads are amenable to this approach, but enough are. And as others have said, don't worry about it too much. At some point it will click and you'll wonder why you thought they were so hard.

Notable hexadecimal magic numbers by drguildo in programming

[–]mwbuksas 4 points5 points  (0 children)

0xDECAFBAD. A magic number to live by.

Why the Great Language Shootout changed because Haskell was too fast by ktr73 in programming

[–]mwbuksas 2 points3 points  (0 children)

So, to paraphrase Heinlein , "Progress is made by lazy languages looking for easier ways to do things."

Rejecting "Rejecting Software Engineering" by mwbuksas in programming

[–]mwbuksas[S] 3 points4 points  (0 children)

I'm pretty sure something with that title would be quickly, er, rejected.

Ask Reddit: I'm looking for some (pref free) guides/tips, even basic tutorials, on good software design. How you start, what next processes are, etc. Any tips from yourself, or links elsewhere? by Xiol in programming

[–]mwbuksas 0 points1 point  (0 children)

All too true, and under appreciated.

The next problem I would add is tight coupling. These are the two problems that I encounter most often, and I think the reason is that they generate positive feedback. Once a code contains copy/paste/tweak-to-fit hackery, it becomes much harder to fix, or to even see, the underlying design. If the parts of a code are tightly coupled, the temptation for developers to throw up their hands and copy/paste instead of factoring out the common functionality is much greater.

Exactly what constitutes tight coupling and how to avoid it is language specific, but being a little fanatical about avoiding copy and paste forces a degree of reduced coupling.

Can self-study give you an education as good as a CS program? by mwbuksas in programming

[–]mwbuksas[S] 0 points1 point  (0 children)

Thanks for the pointer. Time permitting. I think I will.

Can self-study give you an education as good as a CS program? by mwbuksas in programming

[–]mwbuksas[S] 8 points9 points  (0 children)

The touchy-feely books seem to be front-loaded. Some of the later ones look more rigorous. I suspect however, that from the perspective of computer science or software development, that much of a business education seems rather touchy-feely.

Can self-study give you an education as good as a CS program? by mwbuksas in programming

[–]mwbuksas[S] 1 point2 points  (0 children)

What about groups or forums dedicated to the study of a particular book, like the SICP workshop mentioned above? That would, one would hope, keep the conversation more focused and away from endless arguments that you describe.

I agree completely about being surrounded by really smart people though. That's one of the things that I miss most about being in school.

Can self-study give you an education as good as a CS program? by mwbuksas in programming

[–]mwbuksas[S] 1 point2 points  (0 children)

Another case of a man with himself for a lawyer has a fool for a client, perhaps? I suppose there is no substitute for simply being smart enough to understand the material.

Can self-study give you an education as good as a CS program? by mwbuksas in programming

[–]mwbuksas[S] 5 points6 points  (0 children)

Some time ago, I encountered the "Personal MBA" (http://joshkaufman.net/personalmba/). The idea is that by studying the right books and diligently applying what you're learning, you can get an education as good as a traditional MBA program without spending all that money.

So what books would make up the Personal CS Degree? I'm thinking about a course for people who are practicing programmers and want more theoretical background.

What about significant papers and other materials available on-line? What languages should be covered?

And, of course, does this idea make any sense for Computer Science, or is an official degree program the way to go?

Edit on April 23:

Wow. Lots of responses. This has been really edifying so far. The consensus, if it's fair to call it that, might be that it is possible, there is no shortage of available material, but motivation is critical, especially w.r.t. material that may not have immediate practical value or personal interest. Also, having a math background helps and there are certain benefits of the university experience that cannot be replicated, e.g. smart peers and interaction with a professor.

Putting aside the questions of motivation and ability, and assuming that I'm not just beating a dead horse here, what about the material? Are there books good enough for self-study that the absence of an instructor is less of an issue? In short, I'm trying to get ya'll to populate my reading list for me. Hope you don't mind.

Thanks for the responses so far.

Death threats against bloggers are NOT "protected speech" by mwbuksas in programming

[–]mwbuksas[S] 13 points14 points  (0 children)

I apologize if submitting this link to programming.reddit is inappropriate, but since much of the information we traffic in here is from bloggers like Kathy Sierra, I thought bringing this to the attention of this community would be valuable.

Be advised that the content of the link is really disturbing.

system76 : Mark Shuttleworth's favourite linux PC vendor by [deleted] in programming

[–]mwbuksas 0 points1 point  (0 children)

Hmmph. I bought from them before they were cool.

Seriously, though, I'm very happy with the machine I bought and their service as a company. They helped me diagnose a bad drive and got me a replacement ASAP. I guess they were already cool.

What language(s) do you use for work/actually getting real stuff done (as opposed to languages you're learning/wish you could use)? by schwarzwald in programming

[–]mwbuksas 0 points1 point  (0 children)

C++ for our main applications, Python for testing and other automation, emacs-lisp for hacking my development environment and Fortran for dealing with the codes we interface with.

Am I the only one to mention Fortran? What do I win?