Nicole Dominguez

Thoughts

GCC + Python + Pip install errors got me like, "i can't even"

In my free time, I have been trying to pick up working on my side project, techconferenc.es again. However, I couldn’t even seem to simply pip install -r requirements.txt without getting errors.

error: command 'gcc-4.9' failed with exit status 1

This error has been tripping me up for so long! Googling for hours on the weekend, racking my head about what could possibly fix this, and trying every solution I found. Nothing.

i can't even

Until, I found this blog post after the 321934th Google search pertaining to this issue. Apparently it’s a temporary fix, but OMG IT WORKED.

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future

See the post here: Fix ‘clang: unknown argument’ error after updating to Xcode 5.1

So I just made a Ghost droplet on Digital Ocean, now what?

So I have been wanting to start a new blog for a while now. Being out of the blogging world for a bit, I knew there were some new options out there for a blogging platform. Jekyll has been my go-to choice for simple, static sites or blogs. I knew I needed something more powerful however.

I was just about to install Wordpress on my shared hosting server at Eleven2, a host I have been with for years. But then, I decided on a whim to try out Ditigal Ocean instead. Upon seeing their Ghost offering, I said “what the hell” and tried it out.

Here are some things I learned:

  • Ghost doesn’t have great documentation. At least, I feel like I couldn’t get a sense for it’s features from it’s site. It just pushes you to buy hosting from them with ghost pre-installed.

  • Ghost runs on node.js; if you’ve never used it then good luck (I’ve never used it before now)

  • Say good bye to FTP and navigating your files traditionally! Command line and SFTP is your new best friend. And did you know that ssh and sftp via the command line is not the same thing? You have to use the command line to interface with your server. (I’ve only done this a handful of times)

  • Ghost themes run on handlebars, .hbs files. (I’ve never used it before now)

And now, I guess the next thing to do is install Ghost locally and figure out how to theme with it.

Jekyll, WHY U NO LIVERELOAD (or, How to get Jekyll to play nice with LiveReload)

I have been a believer in LiveReload and its counterparts for a while now. It’s completely changed my development process and experience. Other than built-in rails preprocessing, I exclusively use LiveReload.

Anyways, I only update this site once every few months so the annoyance of not having styles reinjected was fine to deal with. (Jekyll regenerates the _site folder in a way that makes LiveReload impossible to reload the styles without a hard page refresh)

I’m refactoring the code to use neat instead of susy and figured I might as well figure out a solution to the problem I’ve been having.

Possible solutions include:

Don’t use the built-in Jekyll server

Idea came from this post. Seems like an interesting solution, possibly the easiest. Except I couldn’t get that to work. Note: this command is the best thing ever invented, try it! python -m SimpleHTTPServer 4000

Use the Jekyll-assets gem

I took a peek at the source of Tim Smith’s site and saw he was using this gem.

After much googling and fighting with installing the gem, finally I got it working. So I ended up ditching guard and guard-livereload, in favor of the LiveReload Mac app. I know, I know. It does a hard reload of the page 0.5 seconds after it detects changes.

I let jekyll-assets compile my sass, which works pretty well because you can include third-party resources, like bootstrap, compass, bourbon, etc. I was able to delete my Guardfile and config.rb.

My Gemfile looks like this:

gem 'jekyll', '~> 2.1.0'
gem 'jekyll-assets', ~> '0.8.1'
gem 'bourbon', '~> 4.0.2'
gem 'neat', '~> 1.6.0'

ext.rb

require "jekyll-assets"
require "jekyll-assets/bourbon"
require "jekyll-assets/neat"

piece of my config.yml

# Plugin: jekyll-assets
assets:
  sources:
    - assets/sass
    - assets/stylesheets
    - assets/images

  css_compressor: sass
  cachebust: hard
  cache: false
  gzip: [ text/css, application/javascript ]

How to enter the interactive Python console

I learned about the interactive Python console yesterday. It’s pretty cool.

To get inside, open Terminal.app and do this:

$ python

To leave the console,

>>> quit()

You can do math, and print things too!

>>> 1 + 1
2

>>> print "Hello World"
Hello World

Zen of Python

image

Since joining Sawhorse, I’ve been introduced to the wonderful worlds of Django and Python. In one of our documentation files, we have the following:


The Zen of CSS

See The Zen of Python. These all apply to front-end coding, too!

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

So, upon being surrounded by programmers and needing to remember the following:

  • code is an interface too
  • anything we write can be better
  • don’t overcomplicate things

I turned the Zen of Python into a wallpaper. Sounds so 2008. It’s been beautiful on my rMBP so far. So, here you are internet: download a very large .png

See the archives