Geoff Crittenden is on the Internet turned 1 today!
sheepfilms
Mike Driver

bliss lane

oozey mess

gracie abrams
Jules of Nature
official daine visual archive
RMH
todays bird

blake kathryn
🩵 avery cochrane 🩵

No title available

PR's Tumblrdome
NASA

izzy's playlists!
Claire Keane
art blog(derogatory)

❣ Chile in a Photography ❣
cherry valley forever
No title available
seen from United States

seen from Canada

seen from TĂĽrkiye
seen from Malaysia
seen from United States

seen from Brazil
seen from United States

seen from Malaysia
seen from TĂĽrkiye

seen from Japan

seen from Brazil

seen from United States
seen from Canada

seen from Poland

seen from United States

seen from Canada
seen from United States
seen from United States
seen from TĂĽrkiye
seen from United Kingdom
@geoffcrittenden
Geoff Crittenden is on the Internet turned 1 today!
When is the End not the End?
I was reading this week's Ruby Weekly Newsletter (if you're not already subscribed, do it now), and I stumbled across something that I never knew and had never even considered before. I was reading Zack Siri's article on using hash selectors instead of if/then or case/when statements, when I saw this at the end:
def selector .one {text-indent: 15px;} .two {text-indent: 30px;} output_data.keys.map { |k| k.to_i }.select do |k| @number % k == 0 end.last end
This block of code was unremarkable and simply meant as an example of how one method (selector) might call another method (output_data) that's using the hash selector instead of an if. But what caught my eye was this:
end.last
What was this magic foo I had just stumbled upon? After a few seconds, I realized that end.last was returning the last item in the data collection that the .select method was mapping. After a few more seconds, I quickly opened IRB and typed this:
> ary = [1,2,3,4,5] > ary.each do |x| > x ?> end.last
The result?
=> 5
If the last line had just been ?> end, the result would have been:
=> [1, 2, 3, 4, 5]
I already knew that you could do something like ary.each { |x| x }.last, but I had always treated end like a command or keyword. However, treating it just like the delimiter that it is, this makes total sense.
Obviously, this example is a little useless. You would just call ary.last if you needed to. But over an entire application, with hundreds or even thousands of lines of code, this could save some serious space. Instead of having to create some temporary Array or Hash--the contents of which is the result of a method call--you can just select the information you need right on the spot.
Anyway, I had never come across this before, and this didn't seem intuitive at first, but now it makes perfect sense. If any of you have a great real-world example of using this to your advantage, please share. Thanks!
On the Willfully Ignorant Hatred of Things You Simply Don't Use
As an active job-seeker, I read a lot of those "10 Ways to Land that Job!" and "5 Reasons You Didn't Get That Job!" posts and articles. I know that I shouldn't. Nothing good ever comes out of those. They either all say the exact same thing, or the advice is so asinine, only a high school sophomore would not already know it. But one bulleted item I recently read really got my goat.
Here is the full list:
I wouldn’t hire someone who:
has a hotmail/yahoo email address (tip: gmail, your own domain, mac.com, or anything else looks better)
doesn’t have a website/blog/online portfolio or a twitter account
has no experience whatsoever
I’ve never heard of
These are all fairly debatable. In fact, the last one made me laugh out loud. "I wouldn't hire someone who I've never heard of"?? I'm still scratching my head on that one. Is this someone whom you haven't heard of until they apply for a job, or do you only hire friends, former colleagues and famous people? This sounds like an arbitrarily unnecessary constraint that limits your potential employee pool and only serves to make a job-seeker feel like crap when they are informed, 'sorry I've never heard of you, so I can't hire you despite your qualifications.'
But actually, it is the very first item on this list that made my hackles go up. Discriminating against a possible hire based simply on their email address. And I'm not talking about [email protected] here. This rule extends to every single email address of Hotmail and Yahoo! webmail users. So apparently [email protected] is so offensive that even looking at that person's credentials isn't even worth this hiring professional's time. Sorry, John Smith. You lose.
This is exactly the kind of prejudice against totally benign and useful things that I hate. There is also no explanation given, by the way. Just that "anything else looks better." Not IS better, mind you, but LOOKS better. That's the choice of words here that is the crux of this biscuit. Why is a Hotmail user so unqualified to work for/with you? This type of debate goes back a long way and was probably never more prominent than during the 'Switcher' and 'I'm a Mac' ads from a few years back. Comparing two things based not on their merits, but on hyperbolized anecdotes, is a time-tested debate strategy. But is one that really should just stay with the FOX News crowd. (Yeah, I sideswiped.)
Here's the disclosure that you're all waiting for. Yes, I have a Hotmail account. I have had it since 1999, and you know what? It has never let me down. Not once. Hotmail, as a Microsoft service, has been around since 1997, and it was the most-used webmail service worldwide up until 2012, when it was surpassed by Gmail.
I also have a Gmail account. I've had that since 2007. It is now my primary email address, but that is only because I was told way back when that gmail.com looks better than hotmail.com. That's not totally true. I really switched because back then Microsoft didn't allow Hotmail users to integrate with other 3rd-party services (including their own) like they do now. You pretty much had to use a browser of some flavor to access Hotmail. Users of the Microsoft Office Outlook client probably remember trying to get Hotmail on the desktop only to find out that all you were doing was opening a skinned version of Internet Explorer in Outlook.
But today, for 95% of users, Gmail and Outlook.com (what was Hotmail up until 2012), provide the exact same service. In fact, Outlook's spam filters are way superior to Gmail's. About 10-15% of what ends up in my Gmail spam folder is legitimate email. With Outlook, it's probably somewhere down around 1-2%. What's funny is that I use my Hotmail address primarily as my "spam" email. It's what I use every time I sign up for a new service or give my email address to someone/something I don't fully trust. But Microsoft's spam filters are so good, that I rarely get any.
Mixed in with all of this is that I would suspect most people pushing the down-with-Hotmail agenda are the very same people crying loudly how much better Apple PCs are than Windows PCs. (I choose not to refer to a computer using Windows as simply a 'PC' because, gasp, a Mac is also a PC.) Notice how the author of the above list suggests mac.com as a suitable alternative that "looks better." If I were in a position to evaluate a candidate, a mac.com address would be just as off-putting as anything else, but I certainly would never unilaterally disqualify him or her based solely on that. The funny thing is that Google (provider of Gmail) is just as much, if not more so, a competitor of Apple (provider of mac.com) as Microsoft (provider of Hotmail) is. What is so intrinsically better about Gmail compared to Hotmail/Outlook?
I also use a Mac, in case you're wondering. My laptop is a 15" Early 2011 MacBook Pro running Mountain Lion (MacOSX 10.8.5), and my desktop is a self-built machine running Windows 7 Pro. I truly don't prefer one over the other, and I have yet to discover a single thing that one can do that the other cannot do. In all honesty, though, the next time I buy a desktop, it'll probably be a Mac Mini or iMac. As a newly minted software developer, it is leaps and bounds easier to get started on a software project on MacOS than on Windows.
I haven't really mentioned Yahoo! email because I don't use it, and I have no idea if it's good or not. And, despite the issues they suffered late last year, I suspect much of this applies to Yahoo! mail as well.
This post is way too long, and has expanded beyond the topic a bit, so I'll bring it home. Everyday I see people "in-the-know" slandering something—a product, a person, a brand—that has not wronged them in the slightest. Yet popular opinion in their chosen sphere of influence has dictated that they play ball and further the hate. And that's bullshit. Use what works, and if you like something better, then use it instead. But if you're going to judge someone based simply on their choices as a consumer, you'd better have a damn good reason that goes well beyond your biased and probably uninformed opinion.
CityPulse.io Update
I finally found some time this morning to get my changes actually pushed to the deployed version of CityPulse.io. Since we're running on heroku, it's a little more complicated than just git push origin master, but with the help of our awesome deployment jedi, @JKrantz, I was able to get everything pushed up. Since this is a Rails app, and I needed to make changes to the JavaScript, my biggest hurdle was with the asset pipeline. It's always a little scary deleting an entire folder of public assets, but once you get the hang of it, it's no biggie. If you want to read up some more on the Rails asset pipeline, check out this short article written by @kmazanec, one of the smartest dudes I know. But before you do that, head on over to CityPulse.io, and see what's happening.
UPDATE: Soda Ban - Day 6
Yes, the countup clock on the right side is still correct. I have not had any pop for over five days now. I'm always struck by how my body reacts every time I do this. This time around, Day 2 has been by far the worst. It probably didn't help that I was out drinking the night before. Those day-long withdrawal headaches are the worst. Sometimes the first wave of withdrawal lasts two or three days, but this time it was just the one day. Maybe because I had just done a three-week soda fast last month. I'm pretty sure that I'll have another rough day in about a week. I'll keep you updated on that. Also, as per usual, my body is fighting back by requesting those extra calories in another form. This time around, it's cereal. I eat Grape Nuts with blueberries and banana almost every morning, but now, throughout the day, I've been adding in Roundy's Oats & More, which is a great knockoff of Post's Honey Bunches of Oats with Almonds. I'll have to curb this behavior soon, as most cereals tend to just be a huge bomb of simple carbs masked as health food. At least there is no high-fructose corn syrup in this one. I've also always been curious about my brain's reaction, or lack thereof, to caffeine. I know that I've never been hooked on the caffeine in sodas before, because I've never sought out an alternative, such as coffee or tea, when trying to kick soda. And my wife always rolls her eyes at me when I saunter into bed at night holding a 20-oz. Coke or Mt. Dew. Drinking any caffeinated soft drink has never had much affect on my alertness, and it does not seem to make a difference in my sleep. I have never been a coffee drinker, as I think coffee tastes horrible, and I have never really needed extra assistance waking up in the morning. Maybe if I had drunk coffee starting at a much younger age, caffeine would have a greater effect for me. I guess I'll never know at this point.
I Hate Moving
We found out a few days ago that our landlords are going to be selling our apartment. This means we will need to move out in January. I hate moving. Looking back, since May 2000, I have moved 14 times. Fourteen moves in just over 14 years. And now, just as with our last two moves, we need to seek a new residence because our landlord is kicking us out. We just have no luck at finding a place to rent for an extended period of time. The worst part is that we were intending to stay where we were for one more year and then buying somewhere in the city. Now we have to go through another entire house hunt with all of the hassles and expenses involved. The somewhat-silver lining is that this now gives us the opportunity to possibly move back into our old building, which we love. Hopefully it works out, so that we can get this view back.
So tempting. #sodaban
Sugar Madness!
I have been binging on soda for far too long. If you look to the right, just below the 'About' section, you'll notice a countup timer labeled appropriately 'Time Since Last Soda-Pop.' I figure that if I go public with this thing, there will be an extra layer of accountability. Hopefully. The last time that I was able to successfully stiff-arm pop was during the summer/fall of 2012. For over five months, from July to December, I didn't have a drop. It led in part to me being able to successfully train for, and complete, a half-marathon as well as lose 28 pounds. I have since put 21 of those pounds back on. My most successful soda boycott was from August 2010 to September 2011. For thirteen months and three days I was soda-free. During that time I lost 46 pounds. I was also counting every single calorie I ate and working out six days a week. And when I started up on soda again, I put 30 pounds back on. My biggest struggle with all that extra sugar is that it totally saps my motivation and metabolism, so it's like a double-whammy. I pour unending sugar into my system AND I stop exercising and eating healthy. So I have decided to rededicate myself to my health and fitness, and the first thing that needs to go is the high-fructose-corn-syrup-laden goodness known as Coca-Cola and Mountain Dew. You'll be missed, guys. Check back for periodic updates on my quest, and feel free to reach out. Thanks!
Coding Skills
I'm attempting, as best I can, to be a good team member and not just let CityPulse.io die on the vine. Over the last two days I've made four more pull requests, mostly minor tweaks, but it at least makes me feel as if I am still contributing to something. One of my biggest fears with finishing Dev Bootcamp was that I was going to let my coding skills erode. When the primary goal is to find a job, it would seem that practicing coding and learning new skills take a back seat. But the reality is that if I let my code abilities slip, my marketability slips as well. Hence, continuing to write code is an absolute priority. It was funny. CityPulse.io has been deployed for two weeks now, and running it locally isn't something I've needed to do since. This morning I had to remember just how to launch everything. For a Rails app using lots of technologies (redis, crons, websockets, to name a few), it takes a few steps to get it running on localhost:3000. I remembered redis-server, but I forgot to launch Postgres.app. I also remembered whenever -w for our crons, but tried running the app on rails server. After about five minutes of worthless troubleshooting, I realized that we were running thin. D'oh! As soon as I ran thin start, everything was running just fine. All of this just so that I could console.log some JSON and tweak the size of our instagram photos.
Sounds like my next pull request might need to be updating the README. You know, best practices, and all that.
First time in a while seeing the top of the skyline. #Chicago (at Dev Bootcamp)
This app is the final project that I worked on at DBC Chicago. I need to give a big shout out to my team members Henry Dickson, Joey Burtoft and Jeff Krantz, who did most of the work on it.
It is awesome. You need to check it out.
CItyPulse.io
WHAT IS YOUR FAVORITE INANIMATE OBJECT?
Not sure. Right now it might be my brand new Asics Tiger Ultimate 81s.
Initial Commit
So I was totally supposed to blog my experience during Dev Bootcamp - Chicago. Yeah, I blew that one. I didn't write a single thing -- other than code, of course -- the entire nine weeks. Awful. Here's my chance to completely redeem myself. Be on the lookout for periodic posts about what I'm up to, my job search, as well as my thoughts about going through DBC now that I have the chance to digest everything I just went through. That's it for now. Just a teaser. Please come back. There will be more next time, I promise.