Category Archives: Musings

I post my thoughts about the bigger picture of the Tech scene here. Join into the conversation and let me know what you think.

Tech and Academia

I’m frustrated by the tech scene ragging on academia. Yes. The system is ripe for disruption. Specifically here in the US, where the expense of higher education is rising and has put my generation and younger into ridiculous debts.

However, that doesn’t mean that academia itself is bad.

No, it’s not for everyone. But it is invaluable.

I have a degree in philosophy. I did not expect to get a job in that field. I hustled through college to support myself — a tour guide, translator, I worked in sales, as a tutor, and in marketing — and I hustled afterwards until I discovered my calling as a developer and taught myself to code.

From my degree I gained a depth and perspective on the world that follows me wherever I go, and influences every line of code I write.

There are plenty of fields that require academia, even tech fields. There wouldn’t be any biology startups without it. We wouldn’t have lawyers to set up our C-Corps or doctors to treat us when we get sick.

Let’s not forget that without our academic institutions we won’t foster our next generation of philosophers and we won’t recognize the value of the next Whitman without knowing who he is, nor will we be able to contextualize what happens across the world in the greater story of mankind.

It’s easy to focus on how drastically and powerfully the entrepreneurial community has changed the world, and forget the value that more traditional paths still retain.

Living here in the US it’s easy to forget how easy and inexpensive it is to get a top quality advanced education in many countries in Europe. The system here may be broken, but shouldn’t be discarded.

It also doesn’t need to be the only way. Treehouse, Lynda, and Udemy have their place. If there are better ways to train for a profession, we need to embrace that. We don’t need to require degrees to provide jobs.

But let us not forget the value of knowledge for the sake of itself as well. That is a huge aspect of what makes us human.


    We Choose

    Today 45 years ago one of our species landing on another world. For a moment all mankind were bound together by accomplishment and ingenuity. We looked up at the heavens and for the first time, we knew one of us was looking back. Oh the force of the human spirit.

    “There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the moon? Why choose this as our goal? And they may well ask why climb the highest mountain? Why, 35 years ago, fly the Atlantic? Why does Rice play Texas?

    We choose to go to the moon. We choose to go to the moon… we choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard, because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one which we intend to win, and the others, too.”

    When something seems too hard, I look up at the sky and think of these words. We have so many challenges ahead of us, but the force of that idea.

    This is who we are.

    We set foot on the Moon.

    Goddammit. We can find a way to live with respect for one another and stop killing each other. Goddammit. We can find a way to conquer poverty and plague. Goddammit. We can find a way to live with all the comforts of modern society without burning away our future and our fellow inhabitants of this beautiful planet that gave birth to us.

    We set foot on the Moon.


      Labor Surplus is a Resource to be Tapped, Not a Liability to Mitigate

      “While those ancestral Maori who first colonized the Chathams may have been farmers, Maori tropical crops could not grow in the Chathams’ cold climate, and the colonists had no alternative except to revert to being hunter-gatherers. Since as hunter-gatherers they did not produce crop surpluses available for redistribution or storage, they could not support and feed nonhunting craft specialists, armies, bureaucrats, and chiefs.”

      - Diamond, Jared. “Guns Germs And Steel

      Technology is such a blessing. As production becomes more efficient, fewer people need to work in order feed the rest.

      While in the past, technology has created more jobs because of the efficiency it created, given Moore’s law, as the efficiency of our systems grow exponentially, I believe that it may threaten jobs, if we aren’t able to keep up with the progress.

      But what this really is, is the opposite of the Chathams’ experience. There are “crop surpluses” which means that more people are available to discover, build, learn and develop.

      All we need to do is invest in empowering people to profit from their creativity. If we invest intelligently in our future, we’re in for quite an exciting ride of creative invention and innovation beyond our wildest dreams.


        Why I use Bootstrap, and what I get from it

        I previously wrote about the the Bootstrap front-end framework. In a nutshell my thoughts then were, it’s a useful tool but if something goes wrong, it’ll be a pain to troubleshoot.

        What I thought then still remains true, if you need to work outside their box, you’ll have a tough time. However, since I first wrote about it, it’s gotten quite a bit more polished.

        My gripes

        When they made the jump from version 2.3 to 3 I was not happy. It’s quite a bit more polished now and naming conventions make more sense, but one really can’t upgrade a bootstrap 2.x based site to 3 with ease.

        Note to all framework developers: if you’re planning on doing such a drastic change, please, please, please document your changes carefully so that you’re not wasting the time of the people for whom you are building your code for? Even better? Write a conversion script.

        Also, I was not happy that they dropped IE7 support. It would be nice to have some graceful degradation in place, especially since it is a framework. I work with the banking industry, who notoriously refuse to upgrade their systems. Which is plain dumb and I have a lot to say about that; but, that’s for another post.

        What I Love

        Pain aside, it’s sweet to work with.

        It is now flat, which is really nice for a framework. It’s not a good idea to include tons of extra code to add shading and depth to an element that you will go ahead and overwrite. Start slim, build from there.

        The grid system is fully responsive, which was nicely executed. I’m also please that they moved away from the 8 column grid, 12 is much more flexible.

        Version 3 moved from sprites to glyphs in font format, it’s time for sprites to die.

        ~=~=~=~=~=~=~=~=~=~

        In today’s world it’s a no-brainer to use a framework, at least for prototyping. Whether, the framework is really just your own snippets you’ve collected, or it’s a framework that has a team dedicated to developing and improving it. Front-end frameworks really cut down the development time, and Bootstrap is solid.

        To resolve my initial reservations with using a framework, when I’m assigning projects to my team I make sure to pepper the tasks with some vanilla CSS and JS. It’s good to keep on one’s toes.


          To the FCC: Thoughts on Net Neutrality

          The internet is a great equalizer. It is the foundation upon which we share all our communication and knowledge, like the printing press. Giving priority access to some over others is the equivalent of constraining access to the alphabet or language. You’re damning the less fortunate to remain illiterate.

          Are you upset as well? Here’s something you can do. 

          Here’s something else you can do.


            What I Want to Hear About this Tuesday at the State of the Union Address

            I received an email from BarackObama.com asking me to fill out a one question survey.

            The survey question was:

            What issue are you most excited to hear about in the State of the Union?

            This was my response:

            The biggest issue that lost my enthusiasm in the leadership of our president is how much the NSA has been sabotaging the security of the internet.

            I understand that the President worries about our safety, and that the NSA is telling him that they are making things safer.

            Frankly, I don’t believe that it is making us safer, it’s eroding the clear leadership that the US has taken in moving the world forward technologically, and is threatening jobs by undermining the integrity of US tech companies. It upset me greatly that the President focused mainly on phone record meta, who uses the phone these days?


              Code Is Poetry

              codeispoetry

              At the bottom of every page of wordpress.org is the above statement, and it’s not just an empty phrase.

              I learned what I know from digging into WordPress. It started by my breaking the site I was supposed to be managing, sorry Karin. Many books, themes, plugins and years later I seem to be able to manage most any PHP site quite proficiently.

              No matter what I’m working on, I try to keep the above in mind. “Code Is Poetry.” If I can make a method more elegant, concise, I go for it.

              Having influenced me so much, I decided to put WordPress to a test. See if the good people at WordPress hold to their own mantra.

              To do so I installed the top CMS platforms on a local environment so I could compare their codebases and database structures with each other. I wasn’t very scientific about what is considered a “top” CMS. I pretty much Googled and made a list of the top few that came up the most. I have not run any performance tests, I may do that for another post. This post is just about structure of code and database. “Code is Poetry” right? Here are my results.

              cms file search

              File count (CMS’ in alphabetical order)
              Concrete5: 4006 files
              Drupal: 1065 files
              Joomla: 5083 files
              WordPress: 1062 files

              cms folder search

               Folder count
              Concrete5: 765
              Drupal: 136
              Joomla: 1233
              WordPress: 112

              Top level folders
              Concrete5: 20
              Drupal: 7
              Joomla: 17
              WordPress: 3

              Why This is Important

              A codebase to a developer is a lot like moving parts in electronics. There more there is, the more that can break. Less doesn’t necessarily mean better, a space shuttle is clearly better than a 747 and has far more moving parts. But to continue the analogy, a SSD is far superior to a HDD.

              Drupal and WordPress are neck and neck in numbers, though, WordPress is ahead by a hair ahead, except for the top level folder stat.

              The top level folder stat is important. WordPress wins hands-down here. Aside from having strong OCD tendencies, it’s important because it’s an indication of the overall clarity of structure of the codebase, which has clear ramifications. Try upgrading WordPress, one click. Try upgrading Drupal… HA!

              The WordPress codebase is structured beautifully with clear delineation between wp-includes, wp-admin, wp-content. It’s clear what is where, and what is what. You do not have to read through their documentation to see clearly where the core sits, and where you can mess around. You cannot say this about the other CMS platforms.

              cms folder breakdown

              Now for the Databases: Table count
              Concrete5: 172
              Drupal: 72
              Joomla: 68
              WordPress: 11

              For more about the elegance of WordPress’ database read: How WordPress Works: Dissecting the Database.

              In conclusion, I don’t want, ever again, to hear about how bloated WordPress is.


                WordPress Proposal: “Deep” Linking Taxonomies to Custom Posts

                EDIT: A very awesome plugin that does this and much more, exists. Go check out Piklist.

                Scenario

                You are building a site for an educational institute. There are several requirements:

                • Speakers – These are the people giving the courses. There could be different speakers for the same course, if there are too many students for one course, or on different years.
                • Courses – Each course could be unique, or it could be the same required course that every student needs to take to get through.
                • Dates – The duration. If you’re dealing with conferences, it could be a single date. If it’s a course, it may be a time-frame.

                Each of these could and should be a custom post type. And each would have its own custom taxonomy. Speakers should have a Department taxonomy. Courses should as well. Dates should have a Semester taxonomy.

                Here’s where things get interesting. What if a Speaker had a taxonomy of Course, so all the lecturers of a specific Course could link themselves to that Course? Wouldn’t it make sense for both Courses and Dates to have the Semester taxonomy?

                Proposed solution

                In addition to linking taxonomies to all other posts with that taxonomy, there is adding the ability to link a taxonomy to a specific custom post as well. This is similar to descriptions for categories, however, taxonomies do not have meta. Posts do.

                This way, when you visit this educational institute’s site and you’re looking at a course, but you’d like to see more about the speaker, you can click one taxonomy link and see all other courses tagged with the speaker, or you can click straight through to the post about that speaker.

                The opposite linking works just as well. You’re looking at a speaker and would like to learn more about a course they teach. The course is already a taxonomy, so you could click and see all the other Speakers who are tagged with this course, i.e. all the Speakers who teach this. Or you could click through to the course itself.

                Obviously this can be done already. Just not automatically, or easily.

                How

                If this were build as a plugin I would create a look-up table linking the taxonomy ID to a post ID. If it were to be incorporated into the core, I would extend `wp_term_taxonomy` with another column that would associate the taxonomy term with the specific custom post ID. A link could be generated with a function like `get_term_post_link()`.

                I think I’ll go ahead and write this plugin now…

                EDIT: It exists!


                  Obamacare Websites “Irresponsibly” Built on WordPress

                  Edit: Just wanted to point out. According to the video below, if you go here you can hack ALL OF WordPress! How irresponsible?! Oh yeah, and you can hack Google here.

                  I’m a fan of TWIT, I listen to the show weekly–it’s one of my favorite podcasts, in fact. I like it because Leo Laporte is clearly very smart, is knowledgable about tech, and he lands outstanding guests. The clip above, though, is a perfect example of how intelligent people can be wrong.

                  “This is the federal one, is also running on WordPress. (laughs)”

                  Why wouldn’t it? He really doesn’t explain what issue he has with WordPress, except that you can go to /wp-login.php to get to a login screen. As of writing this post there are over 70 million sites running WordPress. Among them are NBC, TED, TechCrunch, CNN, Time, Dow Jones, and UPS, which are running off WordPress VIP, among many other high-profile sites. WordPress is an elegant platform upon which you can build pretty much anything. In fact, more people are using WordPress as the infrastructure for a web application than they are for purely a blogging engine.

                  “Of those who use WordPress, 69% use it only as a CMS (Content Management System); 20% use it as a blog/CMS combo; 6% use it for blogging only; and 7% as an application platform”

                  State of the Word 2013, statistics

                  So there really is no problem with building your site, even if you are a government health exchange, on top of WordPress. The real problem is who is building that site. I was at a party recently and was shmoozing with a fellow developer who mentioned that his company was forced to use a contractor to build their site. My partner burst out laughing when he said that because of my expressive reaction. Web contractors are notorious for building shoddy sites. I’m not saying every contracted site will be poorly built, but their job is to get the site done and move along, which is not conducive towards quality. Not to mention that a good site is a site that is maintained. Consequently. That is exactly why you should have your site built in WordPress. Whether your site is built in-house, or your site is being contracted, I highly recommend building it off WordPress. WordPress is constantly being developed by a quality open-source community. Open source means that everyone and anyone can dig in and read the code. Sounds a little scary, right? But this actually makes WordPress more secure. I read the WordPress source code for fun in my spare time, I learn a lot that way, and countless other expert developers do the same. When ways to improve are found, they’re included into the next release. If and when security holes are found, patches are released to the community immediately. Can you say that for YOUR site’s infrastructure? If your site is a proprietary site, or maintained by a small team, you can’t say the same. WordPress has been tested by 19% of the internet. If security holes were found regularly, you’d hear about it.

                  A good site is a site that is maintained.

                  Building off WordPress you can rest assured that your site’s engine will continue to be developed long after your developer has left. YES, your site’s custom theme and plugins will need updating. But that will cost you MUCH less than it would to have a whole new site built. As to the security concerns Leo and his esteemed guests raise. Many developers aren’t aware of all that is needed to properly secure a website,WordPress or not. Especially if your developer is looking over the horizon towards their next gig, being a contractor and all. If you’re concerned about your WordPress site’s security, go ahead and harden your site  right now.


                    I May Be Ridiculously Good Looking, But It’s My Choice If I Want To Be Seen Naked

                    Walking down the street, no matter how ridiculously hot you are, you can expect that you can keep on the clothing you choose to wear. Even if every passer by wants to see you naked. You may choose to wear long sleeves or a tank top. That is your choice.

                    If you go to a house of worship you’ll probably dress more respectfully, if you are in a private institution you may be asked to put on a jacket (you may leave if you don’t want to wear it), and when you go to the beach you might wear a bikini or speedos.

                    What you choose to cover up or reveal is a choice you make based on your comfort level, the context of where you are, and your beliefs. But you expect that what you choose to wear, may not be liked, but that choice will be respected.

                    If you are in a private home or institution, the owners have a right to ask you to leave if they don’t like how you are dressed. But they don’t have the right to force you to take off your clothing without your consent. That is assault.

                    If you would like to go into a public institution there are fears that you may be trying to smuggle contraband in, and you may be searched. In that situation your privacy is being compromised; however, being part of society you are relinquishing that right to an extent to ensure everyone else’s safety. It’s part of the Hobbesian social contract. That is with the assumption that you are giving up only what is necessary and you will be searched with the minimum necessary violation.

                    We feel so violated by TSA because our privacy when traveling is being violated wantonly, with unnecessary excess. The same goal could be reached with smarter, better trained, better paid individuals, and less abuse.

                     

                    When I joined Facebook it was like a trendy club that all my friends went to. I dressed accordingly. I sought out my friends, and the people I wanted to become my friends. I dressed my sexiest. And acted accordingly.

                    Then Facebook announced that the footage from the security cameras in the joint would be auctioned off to the highest bidder.

                    Now I still visit Facebook, because everyone I care about is there. But it’s more like going to your third-cousin’s wedding, to which you have no idea why you were invited, and neither do they.

                    Sure there are many people there that you know and love dearly. But there is also that distant great aunt who rented you her apartment and upped the rent 40% year over year. Oh yeah, and that lying tattletale colleague is there too. Didn’t you notice? And everything you do or say will be used to SPAM YOU.

                    I went to the club I so enjoyed called Facebook, and It turned out I was inappropriately underdressed.

                    That was Facebook.

                     

                    “What do I have to hide?” they said, when Prism was leaked. “If you have nothing to hide, you have nothing to fear.”

                    What if I don’t want to walk down the street naked? I don’t fear it, I AM ridiculously good looking. But I like wearing clothing.

                    I like sending an email to a specific person, and know that it is going to them, and not to prying eyes.

                    The NSA will claim that their surveillance to falls under the protection of social contract. But that is only true in theory. The fact that some talented high school dropout contractor can look up anyone tells me they did not build the tech with proper checks, regardless of who formally has to sign off.

                    There is clearly no consent when everything is placed under a gag order, and everything is collected. That isn’t protecting us, it’s straight out abuse.