Summer Projects
Apr. 27th, 2009 09:27 pmMy current list of Summer Projects. Enumerated for convenience, not priority.
More items may be added in the future, but generally 3-5 items is a good goal and I achieve 2-3 of them.
Edit: Added programming, I knew I was missing something.
- Organize photos. My high school photography instructor told me the secret to good photography is to take many photos and only show the best ones. With the advent of digital photography I have perfected the former, but need to work on the latter. My goal is to take the best photos from my anonymyzed Flickr account and upload them into my personally identifiable account (for those of you who know my real name, that Flickr username is first initial last name, no spaces or punctuation).
- Record singing - I have enjoyed singing since at least 5th grade, which makes it 20 years now. My singing voice is somewhat soft, but I have good relative pitch. I also play guitar though a bit crappily. My goal here is to record guitar and vocals for a few covers (Indigo Girls, Dar Williams, possibly Sarah McLachlan) and one or two of my own, using Garage Band. I will need to get something to plug in my guitar (it's got a jack) to a USB port (
kelsin, got anything like this I could borrow, or that you could recommend I buy?). I am not adverse to collaborations. - Road trip to Philly - one of the two surviving Galileo telescopes is out of Italy for the first time ever and is on exhibit through Sept 7 at the Franklin Institute. Along with this I may visit nerdcamp.
- Visit the crater photography exhibit at CLAMPART in NYC; open through July 6.
- Learn programming
- Inbox 0 - a lifestyle change in which I treat my email Inbox as a To-Do list, and remove everything I've completed, so that my Inbox stays perpetually close to 0 items.
More items may be added in the future, but generally 3-5 items is a good goal and I achieve 2-3 of them.
Edit: Added programming, I knew I was missing something.
no subject
Date: 2009-04-28 03:53 am (UTC)no subject
Date: 2009-04-28 04:49 am (UTC)As for #5, what did you have in mind? As stated, it's about like "do music". :) What kinds of programming, and to what end?
no subject
Date: 2009-04-28 11:53 am (UTC)no subject
Date: 2009-04-28 12:01 pm (UTC)My goal is to learn the equivalent of a Programming 101 course, focusing on concepts in one particular language (probably C++ b/c that's used in astro at times and my co-conspirator
I fully expect that some of my stated goals above are contradictory to each other. If so, I'd be interested to know which.
no subject
Date: 2009-04-28 02:35 pm (UTC)no subject
Date: 2009-04-28 02:39 pm (UTC)no subject
Date: 2009-04-28 02:46 pm (UTC)no subject
Date: 2009-04-28 03:00 pm (UTC)no subject
Date: 2009-04-28 03:13 pm (UTC)And regardless of what other people have done or not done, what's important is what works for me. What I did last time did not work for me. I know from past experience I learn well by following the traditional steps of taking assignments sequentially, so I wish to do so this summer to help me learn programming better than the mess I cobbled together before.
no subject
Date: 2009-04-28 03:53 pm (UTC)First, before I forget: I'll be visiting NY and possibly points Bostonian on Saturday and Sunday. I don't know where you live, so I don't know whether it would be feasible to meet up, but email me if you'd like to see what might be manageable.
Back to your original topic...
If you want to go to grad school in astro/phys, then you should talk to my friend
About languages:
* Personally I wouldn't start with C++. It's a very complex language and it's easy to go off the deep end. I've been a software engineer for a number of years now and C++ still scares me somewhat. I prefer Java and Python; I can expound if you're interested.
* There is definitely some conceptual transfer from one language to another, but not always as much as you might expect. Functional, procedural, and object-oriented languages (not to mention weirder things like Prolog) present very different ways of solving problems. One of the reasons why C++ is hairy is that it mixes together procedural and object-oriented concepts in a fairly confusing mish-mash.
* Object-orientation is a good thing to at least get a basic handle on, as it's a very common organizing metaphor for programming these days.
* For the specific kinds of things that you want to do, Java is actually a pretty good choice: it's got good built-in support for doing all of those things, and its documentation is very good.
Anyway, hope this is useful matter for reflection.
no subject
Date: 2009-04-28 05:50 pm (UTC)Thank you for the offer of putting me in contact with an astronomer, but I do not think it will be necessary since I have a number of friends with PhDs in astronomy, some of whom I met while working on my Master's and others from before. I am also on good terms with some of the faculty where I went to grad school the first time, and I hope to ask them about it as well.
As for which language, I would really like IDL since it seems to be the wave of the future in astrophysics, but I would have to pay for a compiler as would
What does "functional language" mean?
no subject
Date: 2009-04-28 06:03 pm (UTC)I assumed that you knew a number of astronomers, given your background and interests; I mentioned
I don't know anything about IDL, so I can't usefully comment on it.
Something to keep in mind, though: in my experience, you can use whatever language you want as long as it's supported by your environment and you're the one that's writing and maintaining the code.
Functional programming is a kind of conceptual approach that solves programming tasks via stateless function invocations, as mathematical functions do. The Wikipedia article has a decent overview.
no subject
Date: 2009-04-29 12:37 am (UTC)Personally, I've only ever used it for a math methods class in undergrad (we had a "lab" portion of the class that was in IDL). No one runs equipment using IDL, so it isn't a universal language for all physicists. For equipment, people typically use C (well, usually people use Labview, but that's a separate issue...), but that only matters to the type of astrophysicist who build detectors.
The only situation in which I've ever encountered Python was a professor who used it to make toy examples for class in undergrad. I've never heard of someone actually using it for real simulations, though.
If there's legacy software, it's in C or Fortran (if it's actually old, it's in Fortran). Those are nice because they're relatively fast even if you have a complicated program (faster than IDL, I think, unless you're doing one of the things IDL is specifically built for). Brand new stuff that doesn't have to worry about complicated calculations over large arrays is often done in Matlab (Matlab is to C as IDL is to Fortran insofar as they have the same syntax but have been reworked specifically for scientific applications and graphing data; Matlab in particular has nice GUI interfaces). Matlab has nice things like built-in programs for calculating Fourier transforms or correlations. It's slow, though, so it wouldn't be good for a real calculation done over a large parameter space.
I've never heard of a physicist using Java.
Yay summer list!
Date: 2009-04-30 07:48 pm (UTC)As far as number 2 there are MANY devices. You can plug right into the Mic port of the mac as well (small radio shack adapter will do the trick) and honestly Apple kind of expects many people to do that. If you're looking to upgrade from that you have tons of options. I personally use a Apogee Duet and love it, but it's very high cost. You can find tons of items in between free and $500 though:
http://pro-audio.musiciansfriend.com/product/Alesis-LineLink-Dual-14-inch-to-USB-Cable-Interface?sku=580882
http://pro-audio.musiciansfriend.com/product/MAudio-Fast-Track-USB-Computer-Recording-Interface?sku=703606
Ask questions any time, did a lot of research on audio interfaces when buying my Macbook and Duet recently.
If you ever want help recording or anything let me know. I'm always looking for recording projects. If you want to collaborate on song writing or a song I'll be happy to provide drums / guitars / vocals / bass etc. If you wanted to come up (or me come there) and record stuff into Logic with my Duet we can do that to. My setup is very portable now and I had some nice Shure SM-81 mics which are great for acoustic guitar. I have garage band and stuff so can easily add stuff to a project you create as well (I'm pretty sure I can even work on a song in Logic and send you back the compatible garage band file). Feel free to shoot me an email with song stuff anytime :) You can probably already tell that I'm blabbing cause I love this stuff.
Enjoy completing your list :) Best of luck!
no subject
Date: 2009-04-30 07:57 pm (UTC)Enough of the stupid talk: learning Python is on the right track. Personally I hate Python for many reasons and think it's a stupid language, but with that being said many people like it and it is a "simple" language to learn in some aspects. I won't go into detail here, I'll blab even more than I'm doing now. My vote (as I said below in another comment) is to learn Ruby. Simple, no start up time (installed on Macs) and very clean. Plenty of third party libraries so writing something useful will be possible.
Once you learn one, learning others is very easy.
Re: Yay summer list!
Date: 2009-04-30 09:46 pm (UTC)Some of the skills/tasks I want to learn are reading in and writing out tables and images (.fits files usually), procedural programming (if/then/for loops), calling programs that others have written to do math things like SVD and Runga-Kutta (sp?), GUIs so I can display an image and click on the stars and then do something with that input, and of course displaying graphs. I don't really know what "object-oriented programming" means so I have no clue if it'd be useful for these particular tasks.
I tend to learn well from lecture (videos most likely in this case) and okay from text. Got any links or books to recommend?
I'll definitely check those links for the guitar adapter thingit. I think I'm inclined to play around a bit first (like through mid-June) before seeing about collaborations - I'm more self-conscious than I should be about my voice. (I'm less self-conscious about my guitar playing than my voice, though I know rationally that my guitar skills are worse than my vocal skills!) I know nothing about drums or rhythm or any other instruments. I don't often write songs - it's so much easier when I'm down in the dumps, and I haven't been majorly down in years. :)
Re: Yay summer list!
Date: 2009-04-30 11:26 pm (UTC)