My life has completely changed since I decided to stop looking for a full-time job and go the freelance route just under a year ago …
It’s easy to find the benefits of freelancing, but, as with any lifestyle change, it also has significant costs. Countless articles and posts recount the advantages. This post serves as the reality check: here’s how much you’re going to have to pay to get there.
Marketing? Maybe check.
Time Management? Check.
Friend and Family? Explaining that I’m busy from 8 to 5 and that I cant drop everything to attend to something. Check.
Yep, its going to cost a lot for a company to get my full attention again.
So… I messed up, and I knew better.
With the recent changes to Google’s Search Engine Ranking Algorithm, it was suggested that websites with SSL enabled by default would have better search ranking. I figured it was time to put an SSL cert on israellopezconsulting.com and did so.
However, after getting the CSR, and jumping through Certificate Authority hoops, installing and testing; I found that the site wasnt entirely SSL.
There were some elements still being hosted over plain HTTP. Little by little I worked to fix issues, most of them were fixed by using the Wordpress HTTPS plugin. However, there was one small issue. The favicon.ico file.
This file was not defined by the domain.com/favicon.ico, but the “Shortcut Icon” declaration in the HTML. After looking at my themes PHP I found that the value was used directly as it was stored in the database.
Putting on my MySQL hat, I jumped into PhpMyAdmin and reviewed my databases wp_options table. I found the offending record, and discovered that the value was in a odd string format. I was not fased, I found the string that contained the direct URL, and edited that value directly and saved.
I visited my site and it did not look nearly like it should have been. Thinking it was a cache issue, I issued forced refresh commands in Firefox and Chrome to no avail. Then I made my biggest mistake, I visited my Wordpress Admin Panel for the Theme.
Everything was blank, as if I started from scratch. What happened?
As I wait for the Namecheap hosting rep to restore my database, I started working backwards to what the issue was. Editing the database was not a bad idea, BUT, editing that “odd string” was the root cause.
The “odd string” was really PHP’s Object Serialization. Its common for wordpress theme/plugin designers to save application state not in individual rows, but in PHP objects.
When I changed that string, I neglected to change the offset/length of the string. +1 char for “S”. Once that happened, PHP could not de-serialize it, and I guess the theme’s admin panel just assumes the data is bunk, and saves known defaults.
Once I figured that out, I with shame asked the Namecheap rep if they had a backup, and they did as of 2 days ago.
*Sigh* I knew too much to be dangerous.
Afterwards I looked up more key words of what I did and found a very obvious StackOverflow post. http://stackoverflow.com/questions/15138893/fix-serialized-data-broken-due-to-editing-mysql-database-in-a-text-editor
Had I only known.
This is how slow the connection to Malawi is from here in California. I should be thankful my tunnel script on init worked. (Feels like super admin).
Photo Credit: Michael Fuller
This weekend I attended Drupal Camp LA at the University of Irvine, and I learned a lot. I mainly attended because a good friend of mine (Miguel Hernandez) was moderating a panel, Community-Building in an Open Source World. I have to say that I’m not a Drupal expert, and I havent used it before to any capacity. But, I am aware of it through my experience as a Web Hosting Engineer back in the mid-2000s. This year they had a PHP-con, which was fun, so I mainly stuck to that.
At some point however, I found myself with a time-slot of presentations that didnt really speak to me, so I decided to find a quiet area with an outlet and got to work on some other projects of mine.
When I sat down I realized that someone was being interviewed about their experience in the Open Source community. What I am about to say next is entirely based upon my memory of listening to this conversation, so it is entirely hearsay.
I was listening to this person talk about using open source, and gaining experience and eventually getting comfortable with making changes to the project itself. They self-described as “i’m not a business person, I dont like going out to get clients, but I am good at working on the [core] code” … so they did work on the core code but at some point with the demands of children and paying bills they realized they were selling themselves short.
I do good work. Hey, I should be paid for this. So that is what I started to do. I tried to find someone to pay for bug fixes.
Then it really dawned on my that FOSS software isnt really free. It is only free because others sacrificed or gave something away for free. There are very real costs that go into FOSS, and they are simply not realized into a “licensing fee” or “monthly charge.”
Here you have big design firms, Fortune 500 companies who use FOSS, but don’t contribute anything themselves. Sorta like attending a fundraising party, and making it a point to not donate. Its a bit tacky.
How should we support FOSS, and the people who write that code? Well mainly it happens through organizations who do contribute employee time to a project. Companies like Google, IBM, Netflix. The famous 10% time is used as a useful way for an interested employee to use that spare time to work on a FOSS project if they so wish.
But 10% on a 40 hour work week is 4 hours a week. About a 8.3 weeks a year (2000 hr work year). The individual was stating (and I agree with this too), it take up to 4 hours just thinking about the bug before code is touched.
Heavens help you if you have to coordinate with individuals around the world, and finding time that simply works. See Mozilla Firefox Bug #78414 https://bugzilla.mozilla.org/show_bug.cgi?id=78414
Should smaller shops (not-Google size) be able to afford contributing to open source? What about a 10 person web design firm? Where they produce Drupal and Wordpress sites to great success? Really, I think how they could afford not to contribute to open source. Had Drupal or Wordpress not been around, they might be paying licenses for a commercial CMS.
That there is the link back to money/time. FOSS is not free, it’s free because of other’s contributions. So lets think about the ways to contribute to open source.
- You direct an employee to work on FOSS Full Time
- 10% Time (May or May not work on FOSS)
- Donation of Services/Money/Hardware to a Foundation that supports FOSS
- Issuing Bug Bounties - Fix a bug? Get Money (sounds like developer rap)
- You donate time yourself
I thought about that interview at various points over the weekend, and I’m starting to think that there isn’t one way to solve this. In the end I came up with a question.
Can you live comfortably (>75k USD/yr) as a FOSS developer? Maybe, and good luck finding a funding source.
For something “big” like Drupal or Wordpress, donating money to a project is probably the best way to go. Issuing bug bounties, or fixing the issue yourself is probably the second best way.
I cant imagine a small web-firm having the in-house expertise to contribute back to core Drupal or Wordpress. So money is the best way to get the developer time to fix bugs. How much to donate? Per website? Per size? Per Developer? Ew.
So, did we just get back to commercial software? Maybe. I think that is what most people like about FOSS, mostly not because of the ethos, but because it is Free.
But again, it is not free, it a community. You support the community anyway you can. Teach others, fix bugs, money if you can spare it.
However, I think if you are a business making money on FOSS, you should contribute and it should be significant.
One of the major obstacles of hosting is the requirements by governments that investors must set up companies in each country they want to offer services. The Democratic Republic of Congo and Congo Brazzaville have been unable to cross connect and share infrastructure, yet the capital cities are separated by a river
I should have gone to this meeting, and it was in Dakar, Senegal! But at least they have the webcasts. http://www.internetsociety.org/afpif-2014/webcast
This is how we fixed a laptop in the field, with GoToAssist, Skype, and Clonezilla, TuxBoot, and Rufus.
This is the computer lab I built in Malawi, Africa. The school is called BeeHive, this is their website. http://www.beehiveschool.com/
In the video you see Niall, the school’s head teacher (Principal/Headmaster) opening the door and showing off what we built together.
In the coming weeks I’ll be preparing a technical presentation to submit to local Education and Open Source software groups to speak at. Some technical notes.
- HP Chromebook 14 (Model: FALCO)
- Raspberry Pi w/ 64GB SD Card
- Buffalo Wifi Access Point & Router
- Edubuntu with custom packages on the Chromebooks
- Project RACHEL on the Raspberry Pi to provide local Wikipedia & Educational Content
- DD-WRT on the Access Point to finely control radios, and network bandwidth
- How to provide a high quality experience?
- How to keep the projects affordable?
- How do we move that many laptops?
- How can this project be sustainable?
- What is the best way to expose grade school children to this level of technolgy?
- How to we protect from theft?
- How do we ration bandwidth when it costs from $12.50 to $4.50/gigabyte ?
I’d love to do this more in the future. I find volunteer work very fulfilling and enriching. The complex and challenging circumstances help me keep my mind sharp. For example, how do you fix something when you have no internet. Answer, it is very hard as you would have had to anticipate and mitigate that kind of problem before it happens.
This and more will be in my future presentation. Also coming soon is a small fundraiser to support my first volunteer project, Olancho Aid in Honduras. Keep an eye out for that.