Tuesday, February 25, 2020

Still learning new Vim tricks after all these years

Prompt with yes/no/quit etc for each replacement in file. 


Friday, December 06, 2019

This is what it means be Gen-X

Gen-Xers don't like to be categorized

So already, the very title of this blog post disqualifies me for speaking for all of us.  After all, no single person can define a generation of individuals!  Which brings me to...

We're Individual

We resist being categorized unless the category highlights our individuality.  We want to stand out for what makes us unique.  We like the label "non-conformists", so as long as you are categorizing us an being resistant to categorization, we'll give you a pass.

Things we said: "If you call yourself punk rock, you're not punk rock."

We don't trust Wealth

This is our idea of a bad guy.  A pretentious, jerk-wad who comes from money.

But then we do trust Wealth

This poster was also popular with our generation.  You see, some of us were pretentious jerk-wads, or wanted to grow up to be one.

We look up to Rebels

Our heroes came in many forms, but they all had this in common: they weren't afraid to speak up, defy authority, or otherwise just give a middle finger.

We respect the nerds 

From DEVO, to the cast of Revenge of The Nerds, to Weird Science, we embraced the smart kids who were a little bit different.

We objectify women

I wanted the title to read "objectified" rather than "objectify" to suggest we've grown up and changed our attitudes.  But I think most male Xers would say, "So I like sexy women?  What of it?"

I mean, come on, these stills are from the same videos and movies above.  It was a bit built into our culture that women were supposed to be fit, sexy and, if possible, naked.  I think a lot of us are still grappling with our own expectations of women, and the tension that exists between our cultural upbringing and our relationship with women in the modern day.  It's complicated.

Well this light-hearted blog post is getting kind of deep, so maybe I'm going to just leave it there.

Sunday, April 21, 2019

My kid is cool and released this EP on Spotify


And my other kid is cool and is playing drums in this Tiny Desk Concert submission.

Saturday, February 09, 2019

Linking custom fonts React Native

For future reference


Monday, November 26, 2018

Elastic Beanstalk and manage.py

After many years of spinning up my own AWS EC2 instances to run Django, I thought I ought to finally try Elastic Beanstalk.

I use a lot of management commands in my workflow, like createsuperuser.  Surely there is an easy way to log into an EC2 instance after spinning up beanstalk to run these commands manually?

Yes. From this stackoverflow...

  1. SSH login to Linux
    • (optional may need to run sudo su - to have proper permissions)
  2. Run source /opt/python/run/venv/bin/activate
  3. Run source /opt/python/current/env
  4. Run cd /opt/python/current/app
  5. Run python manage.py

Monday, July 10, 2017

Disabling dnsmasq on Ubuntu solves Chrome DNS resolution lag (for me)

I noticed that something was causing a name resolution lag on my Ubuntu 16.04.1 LTS system.

Linux devin-OEM 4.4.0-83-generic #106-Ubuntu SMP Mon Jun 26 17:54:43 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Yeah, so it worked like this.  I'd type any search term into the Chrome search bar, hit submit, and sometimes it would just lag, lag, lag. 

After confirming that I had no such similar problem using Firefox, I decided to clean out my Chrome install and all config files.  After re-installing...problem remained.

I configured my router to use Google's DNS as another step.  No change in behavior.

But wait, it turns out my distro uses dnsmasq, a "lightweight DHCP and caching server".  Do I need this, I wondered?  I'm happy to go straight to Google for my name resolution needs.
I found someone else who had a similar thought, way back in 2012:

From Mark's blog:

  1. sudo gedit /etc/NetworkManager/NetworkManager.conf
  2. Comment out the “dns=dnsmasq” line by putting a hash “#” in front it.
  3. sudo service network-manager restart
After that, /etc/resolv.conf was populated with the DNS servers my DHCP server wanted me to have in the first place, and DNS resolution was back to the happy mess it always is.
After restarting, my issue was solved.  Now I'm wondering, was my cache just really full, or the package buggy, or if something more nefarious was to blame?

Thursday, June 29, 2017

Why are we hording WIFI?

When you click on your phone or computer's WIFI icon in most parts of the United States, you likely see a long list of password protected WIFI hot spots.  Each spot represents an individual or company choosing to keep the Internet to themselves.

This is the normal.  When we buy a new wireless router, setting a password to limit access is one of the first configuration steps.  Even routers with built in guest modes password protect access by default.

Free public access to WIFI could be good for everybody, the poor and affluent alike.

I know that I pay way too much to a cellular provider every month, and I bet you do too.  If only WIFI signals were ubiquitous and available, I would be closer to bypassing the cellular company.

I pay about $50 a month for broadband Internet.  I pay more than $300 a month for cellular Internet.

Government won't step in to provide public WIFI anytime soon, at least not where I live.  But what if wireless routers were sold with a voluntary public band by default, configured to be open?  If it were possible to give up 10% of your wireless and Internet bandwidth for the common good, would you do it?

As a civic minded individual, I would.  But it would need to be dead simple, a zero-configuration option.

I'm imagining a wireless router company selling a product---call it ShareFI.  It's just a typical 802.11 type router pre-configured to allow up to 10% of the bandwidth to be publicly available to neighbors without a password.

Such a system would allow civic minded consumers to make the decision to share once: at the point of purchase.  From that point on, bandwidth would be shared without any further thought or effort for as long as the wireless router is in use.

Having wireless access is a bit like owning a swimming pool.   Does every home in the neighborhood really need their own personal in-ground swimming pool?  Of course not.  I grew up in a neighborhood where only one neighbor had a pool, and if you were lucky, they'd invite you over to swim.  Everyone else was out of luck, including me.

Community pools make sense: when neighbors combine resources everyone gets to swim.

If every private hotspot in my city shared 10% of the bandwidth, I'd be able to make a call from practically anywhere without using a cellular service.  That's good for me as someone who can afford bandwidth, because it drives down my cost of communication.  And its good for those who can't afford bandwidth:  The poor unable to pay their phone bill would have a fail-over plan, one allowing them to stay connected during times of crisis.

It's not likely that everyone would join in.  But I believe that many would.  People of good intention are likely to share when given the hassle-free opportunity.