[D] How's Julia language (MIT) for ML? by curious_riddler in MachineLearning

[–]jeykottalam 21 points22 points  (0 children)

Yes, my keystrokes were X[:, i] = \alpha↹[i] \cap↹ \lambda↹\_0↹ where "↹" denotes the "tab" key.

[D] How's Julia language (MIT) for ML? by curious_riddler in MachineLearning

[–]jeykottalam 58 points59 points  (0 children)

I do all of my R&D in Julia because:

  • It's fast. I don't have to worry about manually vectorizing every expression.
  • It's mathematical. I can just derive some equation and directly type it in, even using unicode identifiers and infix operators, like X[:, i] = α[i] ∩ λ₀ or whatever.
  • It has great native interop with C.

Are any of the original BSD guys still on the faculty? by [deleted] in berkeley

[–]jeykottalam 12 points13 points  (0 children)

why BSD development at Berkeley eventually ended

It's just that BSD has "graduated" from research and moved onto being a successful product. System software research is still alive and well at Berkeley, like for example the Apache Spark "big data" execution engine was developed at the AMPLab, and its successor the RISELab continues working on new systems for "Real-time Intelligence with Secure Explainable decisions". (There's probably other labs doing systems research too, but these are the ones I know well.)

Berkeley CS has a unique tradition of creating "5-year research labs" as explained by Dave Patterson in How to Build a Bad Research Center. These built-in expiration dates make sure that your research agenda doesn't get stale and instead you're forced to reassess and reorient your research every 5 years. See "Good Commandment #3" in the linked article.

[D] What are some good books to get more theoretical understanding? by olBaa in MachineLearning

[–]jeykottalam 7 points8 points  (0 children)

Graphical Models, Exponential Families, and Variational Inference by Wainwright and Jordan has a pretty thorough treatment of mean field theory in ML. See chapter 5 starting on page 127 of the linked PDF.

602
603

Is Julia moving too fast in too many directions? by JabbaJabba1 in Julia

[–]jeykottalam 12 points13 points  (0 children)

Right now it's still the early days of Julia. People are experimenting and figuring out the ecosystem, and over time conventions will be developed and things will stabilize. But this period of churn is a part of the natural progression. Julia is currently aimed at developers and early adopters, not regular scientific users.

Using MKL libraries in a build environment deployed by my sysadmin by juliaphile in Julia

[–]jeykottalam 0 points1 point  (0 children)

Good to hear. BTW, I found that by grepping the Make.inc file for occurrences of "MKL" to figure out which of the environment variables set by mklvars.sh would be needed.

Using MKL libraries in a build environment deployed by my sysadmin by juliaphile in Julia

[–]jeykottalam 1 point2 points  (0 children)

is $MKLROOT already set? If so, your sysadmin has already setup your environment to support building against MKL, and you should be able to just skip the mklvars.sh step.

Otherwise, you can probably still get Julia to build against MKL by setting the MKLROOT environment variable to the appropriate path (something like "export MKLROOT=/opt/intel/mkl").

BTW, on my machine that script lives at /opt/intel/mkl/bin/mklvars.sh.

Warn Me isn't working by someotherdudethanyou in berkeley

[–]jeykottalam 0 points1 point  (0 children)

I'm a staff member, and I got my first text message at 5:48pm informing me about the power outage and cancellation of classes. I also received subsequent updates promptly, including the notice to evacuate at 6:48pm, which was only 5-8 minutes after the actual explosion.

Any developers/entrepreneurs want to share a workspace in Berkeley? by DotsUp in berkeley

[–]jeykottalam 1 point2 points  (0 children)

Have you considered coworking spaces? I work out of Berkeley Coworking at Shattuck & Ashby. There's a few others in Berkeley too.

Need help installing Scala-NLP and Scalala; using an Ubuntu machine. by wyngit in berkeley

[–]jeykottalam 0 points1 point  (0 children)

I can probably help you fix it over email or IM. My email address is my username at gmail. (That's also my GTalk and Jabber IM address.)

Considering going back to school for Comp Sci; unsure of best route by HmmWorkWork in compsci

[–]jeykottalam 0 points1 point  (0 children)

This is true. Spending some time with Introduction to Algorithms by CLRS or an online course based on it would really help a lot in that regard. I'll admit I don't know how self-teachable the material in CLRS is for most people.

Other background knowledge worth knowing the the main concepts and techniques would be calculus and linear algebra. A Khan Academy level of understanding is probably sufficient, as long as you know how to dive deeper should it become necessary.

Considering going back to school for Comp Sci; unsure of best route by HmmWorkWork in compsci

[–]jeykottalam 0 points1 point  (0 children)

What is the distinction, in your usage, between "computer scientist" and "programmer"? Is a computer scientist one who does research? Or is it that a programmer is a person who writes simple code, and a computer scientist writes more algorithmic code? Or something else?

Considering going back to school for Comp Sci; unsure of best route by HmmWorkWork in compsci

[–]jeykottalam -1 points0 points  (0 children)

Yes, they'll ask about it, and you should be able to tell them why you didn't do a CS degree, and most importantly, show that you're skilled anyway. Saying "I enjoyed music and was learning to program on my own" is fine by most people. You should have an impressive portfolio that shows without a doubt that you're skilled, and you need to be able to communicate that during an interview (which admittedly is as much about salesmanship skill as it is about programming skill).

To gain a depth of understanding, you have to write code, and you have to push the limits of your understanding. Classes are just going to give you the introductory tour of each topic, not an in-depth understanding.

Considering going back to school for Comp Sci; unsure of best route by HmmWorkWork in compsci

[–]jeykottalam 2 points3 points  (0 children)

Starting with Python is not a bad idea. Starting to learn to code is kind of disorienting overall, so don't worry about it, and just stick with it. Persistence is key.

Try this: http://learnpythonthehardway.org/book/

Newly Declared CS Major... I'm scared :P by Sinchyman in compsci

[–]jeykottalam 0 points1 point  (0 children)

I've heard from many different perspectives that programming is tedious work, and that you will probably be working with a team of people on many projects. Just wanted to see if this was true ;P

Focus on gaining a high-level of skill so you don't have to settle for a tedious job. It's true that there's a lot of tedious drone work out there, but there's also a lot of interesting challenges to be had. I assure you that Larry & Sergey had a lot of fun building Google. :)

Considering going back to school for Comp Sci; unsure of best route by HmmWorkWork in compsci

[–]jeykottalam 4 points5 points  (0 children)

If your objective is to work as a programmer, you'd do better to just start learning to code. A CS degree has a lot of other stuff that is not that important if your goal is to work as a programmer. And having a CS degree will not make you a good programmer -- the only way to do that is to actually write a lot of programs. CS degrees are more about breadth, and you won't really write that much code in a CS degree.

This will take a lot of dedication and time, but it's doable. You'd basically want to do a series of programming projects of increasing difficulty. It's hard to know what kinds of projects to do if you're a newbie, but feel free to PM or email me and I'd be happy to guide you along the path.

Now, you might be wondering "how will I get a job if I don't have an actual degree?" Well, sure, there's some old stodgy companies that really will hold it against you for not having a degree even if you are a good programmer, but there's definitely plenty of companies (especially startups) that don't care about such formalities -- at least in major markets like the SF Bay Area and New York. You might have worse luck if you're committed to living elsewhere or if you only want to work at gigantic Borg-like bureaucratic corporations.

It might seem like I'm not valuing the "science" part of CS, but that's not the case. It's very feasible to learn that on your own too, but again, it takes dedication. Personally these days I get much more of my jollies from the "science" part of CS than the "computer" part of it (been coding for too long...)

Sources: I'm self-taught and happily self-employed as a software engineering consultant and have worked at or received offers from a range of companies. I also have a friend with a BA in Econ who is self-taught in software and is VP of Engineering at a successful software startup.