Posts

Link Post: "API First" Development

I love the idea that you request one URL and it creates all the pieces you need using the Bespoke Endpoint concept.

https://speakerdeck.com/jazzdan/api-first-development

Link Post: Toward a Better Markdown Tutorial

I can't wait to see what comes out of this. I'll be including it in a couple projects if it works well.

http://blog.codinghorror.com/toward-a-better-markdown-tutorial/

Link Post: 12 Freelancer Archetypes

http://samuelmullen.com/2015/02/the-12-freelancer-archetypes/

Converting All Tabs to Spaces

I'm really getting behind the spaces instead of tabs argument. I've been looking into how to convert my code to spaces and this is the solution:

find ./ -type f -exec sed -i 's/\t/____/g' {} \;

Where the underscores (_) are spaces.

Once again, I'm amazed by the power of find and sed. :-)

ERROR 1221 (HY000) While Revoking Super

I've been working with MySQL Master-Slave replication at work a LOT recently and one of the things that you have to do on read-only slaves is to revoke the super access to the user access the slave so it doesn't write data.

I normally setup users like this because it's easy and it gives the user all the access they need:

mysql> grant all on tasks.* to 'taskuser'@'localhost';

So when I tried to revote super I got the following error:

mysql> revoke SUPER on tasks.* from 'taskuser'@'localhost'; 
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES 

The super permission can't be revoted on a specific database it has to be revoted on ALL databases:

mysql> revoke super on *.* from 'taskuser'@'localhost';

Again another hour of my life that can't be returned. :-)

Fixing the "No recipient forward path has been supplied" in Zend_Mail

I keep running into a problem where I get the error "No recipient forward path has been supplied" when a cron job tries to send emails. It's been a huge pain to figure out, and I finally tracked it down to a specific user and when I var_dumped the emails involved I found the following:

string ' user@example.com' (length=17)

I trimed the space out and it started working! I'll never get that 2 hours of my life back. :-)

Podcast About Atom-Shell

The Hanselminutes Podcast has an interesting interview with Paul Betts where they talk about Atom Shell which is based off the interface the Atom Text Editor uses. It's Node.js and Chromium based and cross platform so it's an interesting pick for those of us who need to develop a desktop app.

Podcast Link:

http://hanselminutes.com/462/atom-shell-for-cross-platform-desktop-apps-with-paul-betts

Atom Shell Starter Project on GitHub:

https://github.com/atom/atom-shell-starter

I haven't actually tried the program but it's on my long list of technologies to try out. :-)

Link Post: Getting Past Junior

I love this:

Whether I’m working on a kata or a breakable toy or even production software; I throw away most of the code I write. Why? Because my first attempt is a poor attempt. I use my first pass as a “spike”, a kind of hands-on learning opportunity.

and this:

Turning the knob to 11 is when you take a very specific concept; and over-apply it. Over-applying a technique or technology is the easiest way to find its shortcomings. Want to learn to TDD? TDD everything for a year. At the end you’ll have a solid understanding of when to and when not to TDD.

https://medium.com/get-absurdist/getting-past-junior-50a1b1a7927

Installing Node.js on Ubuntu

I'm slowly working on integrating gulp into my workflow for a lot of projects and Ubuntu comes with an older version of Node.js (I'm guessing most distros do) and I wanted to have a more current version on my VMs. The process is actually very straight forward:

cd ~
wget http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz
tar -xzvf node-v0.12.0.tar.gz
cd node-v0.12.0
./configure
make
sudo make install

We want to make sure that we're using the same version on all our VMs so we saved this process as a script so we could make sure we're using the same version.

If you want to upgrade to a newer version make sure you delete your existing install first. We found it caused random problems if we didn't:

rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1

Link Post: How to handle a client comparing your hourly rate to cheap overseas development

Maintainability. If it needs to be maintainable, it needs to be built right. Good documentation, automation where possible, proper subversioning, and well commented code. I spoke with a potential client for our corporate skunkworks program the other day who spoke with a developer who didn't know what Git was. Regardless of your tool of choice (Git, Mercurial, or any other tool) - you should know what they all are and their importance.

It doesn't even have to be overseas. I've seen a lot of crappy code from people in the US that didn't know what they were doing and won a bid because they were the cheapest.

http://www.codelitt.com/blog/how-to-handle-client-comparing-hourly-to-cheap-overseas-development/

RSS

Join Our Mailing List!

View previous campaigns.

Top Posts

  1. Working With Soft Deletes in Laravel (By Example)
  2. Fixing CMake was unable to find a build program corresponding to "Unix Makefiles"
  3. Upgrading to Laravel 8.x
  4. Get The Count of the Number of Users in an AD Group
  5. Multiple Vagrant VMs in One Vagrantfile
  6. Fixing the "this is larger than GitHub's recommended maximum file size of 50.00 MB" error
  7. Changing the Directory Vagrant Stores the VMs In
  8. Accepting Android SDK Licenses From The OSX Command Line
  9. Fixing the 'Target class [config] does not exist' Error
  10. Using Rectangle to Manage MacOS Windows

subscribe via RSS

All content copyright This Programming Thing 2012 - 2021
Blogging about PHP, MySQL, Zend Framework, MySQL, Server Administration and Programming in general