Super great talk.
Sade Olutola
Monterey Bay Aquarium

blake kathryn
No title available
Sweet Seals For You, Always
Cosmic Funnies
todays bird
KIROKAZE

#extradirty
Keni
RMH
trying on a metaphor

Andulka

❣ Chile in a Photography ❣

★
untitled

bliss lane
Aqua Utopia|海の底で記憶を紡ぐ

oozey mess
ojovivo
seen from United States

seen from India
seen from Hong Kong SAR China

seen from France

seen from Indonesia

seen from South Africa
seen from United Kingdom
seen from Malaysia
seen from Malaysia

seen from Japan
seen from Malaysia

seen from United States
seen from Italy

seen from United States
seen from United States

seen from Malaysia
seen from Canada
seen from United Kingdom
seen from Indonesia
seen from India
@seegirlcode
Super great talk.
Making an alias to open files in Sublime
So over the last few days I have been setting up my environment on my new work computer.
I have never really done this before all by my lonesome--last time many of these things were mysteriously, though helpfully, accomplished by Mike during my first week at DBC.
So here are two significant things I have learned so far:
Brew is awesome. You should use it.
How to create an alias!
As you may know, I have a great love of Sublime. And on my personal computer, I have the gloriously convenient power to type
subl thing.rb
straight into Terminal and behold, my thing will open! But the brand new work computer doesn't know that command, which means it's google time.
Initial googling revealed this entry in the Sublime Text docs, which obviously I tried first. Turns out I shouldn't have assumed I have a ~/bin directory in my path. So that didn't work. And since I sort of don't really know what I'm doing with bash and have a strong prejudice against blindly running code I don't understand, I decided to abandon that path and try something a little simpler: creating an alias.
This guy's blog has a very nice step-by-step explanation of how to open up your bash profile and insert code into it for the vim-phobic among us. However, there is one little wrinkle--the code snippet he suggests doesn't quite work, or at least it didn't for me.
What you actually want to put in your .bash_profile is this:
alias subl="open -a 'Sublime Text 2'"
Save the file, quit and restart Terminal, and try it out! Your life is now better.
line inside a fractal inside a fractal inside a fractal inside a draw() loop
This is a really cool illustration of a fractal.
This VEX IQ can play a difficult game of Connect Four! Very cool project programmed with ROBOTC.
This is insanely awesome.
Project Euler and Efficiency
So after last weekend's CSS extravaganza, I decided I needed to balance out all that front-end with some nice, clean Ruby. So I picked up Project Euler.
Project Euler, incidentally, is really really awesome. For those who don't know, it's a collection of math problems (ordered by difficulty) that are generally a pain to do by hand but lend themselves well to programming solutions. What's great about it is that they're typically fairly simple problems (note: simple != easy), and if you start with the easier ones you can typically knock out a few in one sitting, but they force you to do some fairly deep algorithmic thinking.
Also it's a huge confidence builder. I remember looking at Project Euler when I first started out with coding and just feeling so overwhelmed--I couldn't imagine ever being able to solve some of those problems. Now I can really see how far I've advanced with Ruby and algorithmic thinking in general, and it's such a sense of victory every time I solve a problem. (Also, unlike some other programming challenges, it'll take me a while to outgrow Project Euler--at the current count there are 458 problems on the site, and a new one is added every weekend.)
Anyway, today I solved Problem 7, which has to do with generating large primes. I got the right answer, but it took my Ruby code an average of 29 seconds to run. (Not great, obviously.) The problem is that I am using two loops, one nested inside of the other, which in Big O means that it's on the order of n^2 in time complexity.
Being me, I checked out some of the other solutions people have posted in the discussion forum for that problem. Takeaways:
1) Basically no one uses Ruby--vast majority C/C++ followed by Java. (Plus one awesome human who wrote theirs in BASIC. Blast from the past!)
2) Lots of people (maybe around 50% of posters) used the same basic nested loop structure that I did
3) The nested loop algorithm seems to run significantly faster in C or Java than it does in Ruby (by at least an order of magnitude)
4) The actual better solution is apparently this crazy algorithm invented by some dead Greek guy, called the Sieve of Eratosthenes
Since there is literally no way on earth I would have spontaneously thought up that sieve algorithm, I in no way feel bad about my nested loops. I'll probably try implementing that sieve algorithm some time this week just to see how it works, but I'm not going to stress about it.
What I thought was really interesting though is how much faster other languages seemed to get to the solution, even using the same basic algorithm I did. I've heard other programmers complain about how slow Ruby is, and I never really got it, but seeing it demonstrated here is pretty thought-provoking. Once I get a little better at C I may go through and redo some of these Project Euler problems in C and compare run times versus Ruby. Science! It can be fun.
Adventures in CSS
So today I learned what that webkit prefix is for. Specifically I learned that you still need it, even if the CSS that follows looks exactly the same as it does for all the other browsers. Why? I have no idea. Browsers are weird.
I also did my first ever CSS animation! Yay for me! Which process would have gone significantly more smoothly if I had figured out the whole webkit thing about three hours sooner. I'm sort of not sorry that I didn't though; debugging can be very educational. Makes you really question your code.
Also, I gotta say, I really hate HTML sometimes. I swear I have an extra </div> floating around somewhere, or maybe just slightly in the wrong place, but I have so many nested divs now (mostly because of how I implemented this whole responsive grid thing--there's gotta be a better way) that try as I might I could not confirm or deny its existence. I tried to indent so nicely too, but that only gets you so far. I wonder if there's some kind of HTML checker gem out there--something to google.
Anyway, my website is now up! I think it's pretty awesome, although now that I am not distracted by its ugliness I think there's some load time optimization that can happen. I probably ought to do something about those giant image files--I suspect that they do not need to be quite so giant. Ah well. Tomorrow.
Bam.
This is pretty much how it went down this morning.
CSS-pocalypse
So design is hard. I don't know who these people are who are just naturally good at it, but I am jealous of them. Is there a Design Bootcamp? I would so do it.
Over the past few days I spent many hours perfecting div placement and styling and box shadows and all that jazz for my personal website. And I was real proud of my cool responsive grid system, right up until I woke up this morning and realized my opus magnum was a hideous monstrosity. Seriously, that thing was like Quasimodo, but way more shrunken and twisty and probably sporting an extra arm or something.
I kinda wanted to gouge out my eyes, but instead I did the responsible thing and just nuked my CSS. ALL GONE. No styling at all, except for the leftover grid system classes.
Spent all morning redoing my styling and arrived at a less repulsive but rather uninspiring page. It had a few good qualities, but it was almost too boring to be dislikable, really. Lots of white space, and not in a good way.
But never fear! Because this afternoon I focus-grouped a couple of my fellow DBC-ers and spent some time chatting with Danny, who is our resident front-end genius. (He took a break from working on Survey Doge, which I cannot wait to see in its completed form on Monday. I may die. Of joy.)
Anyway, the outcome of all this idea-bouncing and random website stalking seems to have been some kind of inspiration by osmosis--I finally have a vision for what I want my website to look like. And I think it's kind of awesome. I'm excited about how it's going to turn out.
Spent the last four hours styling up a decent prototype of version 3.0. Tomorrow I'm going to figure out how implement an image carousel, which will be sweet. So psyched!
Also, it's 1am. FML.
Oh hey there, CSS!
For some reason the past couple days I seem to be getting an insane amount of work done after 11pm. On the one hand, I love the productivity. On the other hand, it's sort of a bummer, because I love sleeping. I love sleeping a lot.
Somehow lately there are just not enough hours in the day. Which is a good feeling to be having again; it's nice to be building some momentum.
Today I learned how to use the grid system! The amazing Jen Myers gave a design talk at lunch today which filled me with motivation to fix my terrible terrible personal website, which has been on the back burner of late because I just couldn't get over that design hurdle. But with that little kick of inspiration and some judicious advice from the amazing Jonathan, I now have a website that is just a tweak or two away from being not embarrassing!
And although CSS can be a bit finicky, figuring out the grid system this afternoon was actually kind of cool. I used math! And what's really cool is that the grid I'm using is actually responsive! Obviously having a responsive website that is reasonably navigable in both full size and mobile formats takes some planning--the grid doesn't do everything for you--but I think I pulled it off without my code being too janky. Win!
Learn the C programming language from one of the best. Stephen Kochan's Programming in C is thorough with easy-to-follow instructions that are sure to benefit beginning programmers. This book provides readers with practical examples of how the C programming language can be used with small, fast programs, similar to the programming used by large game developers such as Nintendo. If you want a one-stop-source for C programming, this book is it.The book is appropriate for all introductory-to-intermediate courses on programming in the C language, including courses covering C programming for games and small-device platforms.
Programming in C, Third Edition is a thoroughly revised and updated edition of Steven Kochan's classic C programming tutorial: a book that has helped thousands of students master C over the past twenty years. This edition fully reflects the latest C standard and contains current source code. It has been crafted to help students master C regardless of the platform they intend to use or the applications they intend to create -- including small-device and gaming applications, where C's elegance and speed make it especially valuable.
Kochan begins with the fundamentals, then covers every facet of C language programming: variables, data types, arithmetic expressions, program looping, making decisions, arrays, functions, structures, character strings, pointers, operations on bits, the preprocessors, I/O, and more. Coverage also includes chapters on working with larger programs; debugging programs; and the fundamentals of object-oriented programming. Appendices include a complete language summary, an introduction to the Standard C Library, coverage of compiling and running programs using gcc, common programming mistakes, and more.
Reading this.
Advice for incoming boots
Recently an incoming boot emailed me to ask a few questions about how best to spend the last few days before the start of the new cohort, the Foxes, this Monday. Since he gave me permission, I thought I'd share his questions and my answers, in case any other new/incoming boots are wondering the same things.
(1) Having recently graduated DBC (congratulations btw) is there any advice you give to someone about to start DBC? Is there anything you wish someone would have told you right before you were about to start?
(2) I know all the material is important, but if you were to apply the 80/20 rule to your last few days of prep work, what is the 20% or so that would help you the most on day 1 of boot camp?
Like focusing more on ruby classes/methods than html/css? More jquery or javascript?
More git or SQL?
Is there anything you would have done differently to prepare for the first day/week?
(3) what is the first day/week like?
And my response:
Hey Fox,
Your questions made me smile, because those are almost exactly the questions I asked a then-recent DBC grad right before I started. And I'm going to tell you more or less what he told me, because it was actually really great advice.
Your first week at DBC is going to be insane and awesome and hard and fun and overwhelming. The next 9 weeks, pretty much all you are going to do is eat, sleep, and code. You will get incredibly close with 20 or 30 people whose names you might not even know yet. You will likely careen between having insane amounts of fun and being incredibly frustrated; this is normal. You will feel like there isn't nearly enough time to do it all, and there probably isn't. At least not in the next nine weeks. But it's okay, because you have the rest of your life to keep learning. So don't sweat it. Just keep track of the really awesome things you wish you had time to do, so that after graduation, when you finally have time again, you remember what all those awesome things were.
What that means for right now is that you should enjoy your last few days before you plunge into the whirlwind that is DBC. Catch up with your family, hang out with all your friends, do your laundry, and go to the grocery store, because you're not going to have much time for that stuff over the next nine weeks. Catch up on your sleep. Try to get used to waking up before 7am, if you're not already on that schedule.
Go ahead and study if you want to, but don't study too hard. Work on whatever seems most interesting to you right now--any of the things you've listed will be useful eventually, although for the first week you will pretty much exclusively do Ruby. You are really well prepared for this; I promise. You've had twelve weeks of great prep already, and you have 9 more weeks of awesome coding ahead of you.
And get excited! DBC is really awesome, and you're going to have a great time. Just remember to sleep every once in a while. :)
Let me know if you have any more questions! We love questions.
Welcome to the Foxes, and any other future boots! Everybody at DBC is excited to meet you. :)
Doing this.
I am a super nerd
Today was Monday! Which means back to work. :)
Was at least somewhat diligent today and took care of some job search related stuff, but then! I picked up this amaaaaazing book, because I'm meeting with Lucas tomorrow and we're going to try and work through the exercises from Chapter 1, and holy wow.
The book is called The Elements of Computing Systems, and the concept is that it walks you through virtually building a computer from the very first abstraction, which is a primitive logic gate. (In the hardware world, a logic gate is basically a transistor configured in such a way that it conditionally spits out electrons, depending on what combination of inputs it receives.) I am currently 12 pages into it, and already my mind has been blown at least five times. It's like this wild concentric cascade of explosions, where the next one starts before the first one has finished detonating. I freaking love it.
The book is just over 300 pages long, and I cannot even imagine what my brain is going to look like when it's done. I feel like my mental universe is expanding big bang style.
I gotta say though, it is kind of intense. Think I'm going to have to ration it out, like no more than one chapter per week. Maybe even every two weeks. Gotta spend at least some time on Ruby and JS and all this job search stuff. Think I might finally go back and refactor some of my old Ruby challenges from phase 1--a better sudoku solver, some algorithm stuff, maybe even a sweet Battleship AI. And then I have a big long reading list of Ruby stuff and some other languages to check out, and I wanna read up more on algorithms, and sit down and just absorb the Rails guides, and maybe try out some of the challenges on Project Euler.
The world is so full of stuff to learn! It's exciting.
Happy Birthday, Grace Hopper!
Today's Google doodle is in honor of Grace Hopper, one of history's most badass women, and the computer scientist whose words adorn my newly-minted dog tags.
More about her awesomeness here.