hypertext, words and more


  • Initially came across this fun list via Twitter:

    His actual post, is embedded in his Tweet, but you can visit the list here. But in particular I enjoyed #8:

    Turn open source projects in to SAAS businesses — Find open source projects that are very popular and turn these in to out of the box services for enterprises, e.g. PagerDuty is like Nagios.

    Great entrepreneurial advice, and easily serves as a fun jumping-off point for any viable hack-a-thon. Any hacker or eager founder can find some amazing open-source projects and inspiration on Github.

    My personal favorite startup adage, for any would-be-founder is, be the arms dealer.

  • Finally, it’s 2019

    Looking back on 2018, I haven’t been this happy, or this productive in a very long time. It feels good to reflect on this past year. By comparison, when 2017 drew to a close, I came to the conclusion that it was a difficult year. It ended with mixed feelings of nostalgia, regret, and a lot of uncertainty.

    2018 was a totally different ballgame though. I began the year with two very simple goals in mind:

    • Skill building
    • Health

    That’s it. Underpromise and over-deliver 😁

    I busted my ass at work (at the time, I was working for an ad agency). I learned lot’s of things there, (and re-learned even more outside of work hours). Let me tell you right now, there are merits to skipping happy hour with your co-workers and going home to work on side-projects (or just going home to relax).

    I finally picked up React (and Typescript for that matter). Spent a lot of time with Shopify’s tools (for a side-project), went back to Ruby for a bit and spent a considerable amount of time with tried-and-true PHP.

    While on the subject of PHP — I joined Vimeo full-time, as a Front-end Developer. Thanks to amazing and open environment here, I learned even more regarding React, Git best practices, and how to write good PRs. As a bonus, I became a better Designer — mainly via feedback and collaboration. The tried-and-true iterative design process has been missing from my work-life since college, and it feels good to be part of a team that treats design as a first-class citizen. I’m sure I’ll be writing more about Vimeo as time goes on.

    I focused most of my energies on mental health, which I recommend to anyone and everyone for the year 2019. Taking time to relax more did wonders (although leaving the “Ad World” really did most of the leg work here, I do not miss the hours or the pressure). Exercising more self-control with screen-time when I’m off work was a big one for me too. I tried cutting back on video games as well (even if I wasn’t entirely successful with that, it is for the better).

    I’ve also begun to switch gears in my morning/evening commute routine too. Listening to more audiobooks than news or podcasts has been a mostly positive thing. Mainly because when commuting home in the evening, it can be really stressful. Nothing is more dreadful than a packed, hot, humid subway car, full of hundreds of sighs and negativity as millions of New Yorkers head home after a long day in the office. For whatever reason, there’s something very soothing about audiobooks, even at the height of the evening rush-hour.

    Which leads me to my running routine. However irregular the days may have been, I ran more in 2018 than the year before, which is good I suppose. On the days I did decide to run, I wouldn’t run further than 2 miles at the most. My regret for 2018 is that I probably should be doing more than just running. Perhaps a more varied selection of cardio that involves my other limbs like swimming, rowing, or something.

    So yeah, 2018 was a pretty good year for my personal goals. But I have so much more in my life than just myself.

    My girlfriend, and best friend, Leah Constantine (@dumbcurator) joined The Metropolitan Museum of Art, a highly prestigious institution of art and history. But a week before that, in May of 2018 she graduated from The Pratt Institute School of Information’s Master of Science in Library and Information Science. Simply put, Leah’s amazing. Here’s her website.

    In 2018, we didn’t travel as much as we would have liked. And that’s okay. For the most part, we stayed in NYC all year. I travelled to Texas for my step-father’s birthday and I was happy I did, because we skipped Thanksgiving with our families to save money. It panned out well for us, because for one, we did another road-trip to Texas for Christmas. And for two, we wanted to begin saving money for trips elsewhere for 2019. 

    Also, there was a lot of really good movies I watched in 2018!

    All in all, 2018 was a fantastic year of growth for my girlfriend and I — honestly can’t wait to see what’s in store for the rest of this year. For 2019, I’m going to focus on several things:

    • Focus on fitness and continue to monitor my health
    • Eat better (less meat, more greens)
    • Travel when possible
    • Make a dent in my student loans
    • Maintain one side-project at a time (instead of say 3 or 4, just keep it simple for goodness sake)
    • Read more books

    See you next year!

  • Contributing New York Times opinion writer, Tim Wu:

    I’m a little surprised by how many people tell me they have no hobbies. It may seem a small thing, but — at the risk of sounding grandiose — I see it as a sign of a civilization in decline. The idea of leisure, after all, is a hard-won achievement; it presupposes that we have overcome the exigencies of brute survival. Yet here in the United States, the wealthiest country in history, we seem to have forgotten the importance of doing things solely because we enjoy them.


    But there’s a deeper reason, I’ve come to think, that so many people don’t have hobbies: We’re afraid of being bad at them. Or rather, we are intimidated by the expectation — itself a hallmark of our intensely public, performative age — that we must actually be skilled at what we do in our free time. Our “hobbies,” if that’s even the word for them anymore, have become too serious, too demanding, too much an occasion to become anxious about whether you are really the person you claim to be.

    While hyperbolic at first, I think Tim is onto something here. Having a hobby is hard. There’s certainly a deep social expectation that one must be an expert to satisfy the appearance of a hobbyist. I’ve felt it. What once was leisure, is now subject to the intensity and bombardment of excellence.

    There’s nothing’s wrong with maintaining mediocrity — and there’s certainly nothing wrong with amateur hobbies either. Be it painting, drawing, yoga, reading, jogging, or even playing video games (or golf, for  a different generation). Skill shouldn’t matter in the arena of hobbyists. That’s the whole point. It’s just a hobby.

    I’m not saying hobbies have no room for improvement. I’m sure many will seek out means to hone their craft. Others will not. Some will become frustrated and move onto other hobbies. That’s how it should work. Probably best to ignore societal pressures to pro-actively level-up your hobby too. Let’s say you enjoy gardening. You’ve’re under no obligation to study up on heredity, and follow the footsteps of Gregor Mendel in breeding varieties of pea plants. Because, well that would no longer make it a hobby wouldn’t it?

    The entire concept of having a hobby at all is because we enjoy leisure and relaxation. Focus on yourself. Don’t let anyone tell you otherwise.

  • From Emily Atkin at The New Republic:

    No one may be using Bitcoin, but we’re all paying for them. Bitcoin analyst Alex de Vries, otherwise known as the Digiconomistreports that the coin’s surge caused its estimated annual energy consumption to increase from 25 terawatt hours in early November to 30 TWh last week—a figure, wrote Vox’s Umair Irfan, “on par with the energy use of the entire country of Morocco, more than 19 European countries, and roughly 0.7 percent of total energy demand in the United States, equal to 2.8 million U.S. households.” (As of Monday, the figure had reached nearly 32 TWh.) Just one transaction can use as much energy as an entire household does in a week, and there are about 300,000 transactions every day.

    A single Bitcoin transaction…can use as much electricity as an entire household uses in a fucking week. As the value of Bitcoin and mining difficulty soars, the plummeting efficiency is only going to get worst. Sure the returns are insane, but is it worth it? Hell no. Surely there's got to be a ceiling to this madness?

    More recently, Paul Ford contributed his thoughts on Bitcoin to Bloomberg:

    It’s not that I want Bitcoin holders to suffer, really. As a technologist and entrepreneur, I’m sympathetic to and admiring of risk takers. But as a writer, I enjoy the sheer human-condition-revealing sport. I’m happy to watch other people play video games without playing myself. I’ll watch poker, but I’ve never bought a deck of cards—and when I watch football, I keep the official NFL rulebook open on my phone. For whatever reason, I tend to like the rules more than the game. Bitcoin is at some level just a set of rules, defined by software, that has become one of the world’s weirdest games. And people who invest in an unmanageable abstraction, then panic when it underperforms, are very entertaining.


    The people tossed around by the cryptocurrency tempest—their only sin is belief. (Well, and greed.) But here I can only smile warmly and sigh. I know what it’s like to believe.

    Pure greed. All at the expense of our pale blue dot.

    Bitcoin has become the litmus test strip for all cryptocurrencies. As they continue to become more and more tightly bound (more and more trading pairs are cropping up everyday), we are setting ourselves up for a world of hurt. This won't end well. When Bitcoin moves, all alts move.

    There's a lot of other really great, efficient cryptocurrencies out there. Litecoin, Ripple, and even Ethereum are decent contenders. There's also no shortage of shitty alt-coins too, don't get me wrong. 

    I'm no soothsayer, but Bitcoin wasn't designed to scale. It wasn't designed to be efficient. It wasn't designed to last forever. It has limits. Other cryptocurrencies have had time to adapt and evolve to meet demands that Bitcoin can't. Bitcoin will bequeath its throne in my lifetime. 

  • Yesterday, on paper — #NetNeutrality died. But there is a glimmer of hope. As it turns out, the new reclassification and bullshit order won't go into effect until May or June. The order passed in December, merely gave the FCC power to begin steps to reclassify on the "effective date" of April 23rd. Now, Ajit Pai can begin his crusade to disassembling our internet rights.

    Tom McKay:

    As CNET noted, once the Office of Management and Budget approves the move, that will start a new waiting and public comment period before the new rules go into effect. This new system likely won’t go into effect until at least late May or June, per the Register. 

    Among other things, the new rules would reclassify internet provision as a Title I instead of Title II information service, which would allow ISPs to implement paid prioritization programs, as well as block or throttle content from competitors or just about anyone they wager is using too much bandwidth. Broadband providers will mostly cease to be regulated by the FCC, and thereby be bound only by their own promises (the FCC cleverly passed most of its authority to penalize ISPs that lie to customers to the Federal Trade Commission, a separate agency ill-equipped to handle telecom issues).

    If you're confused as to why #NetNeutrality matters, take a look at what happens when ISPs force their subscribers to pay for "premium" bandwidth "packages" in Portugal. It's a nightmare, and completely disgusting.

    Join the battle for Net Neutrality here.

  • Seriously. What the hell is a <div> tag? When I first got into web design, I had no idea how a web page worked. I had no concept of HTML elements, let alone the <div> tag. Unbeknownst to me at the time, developers were pushing the limits of CSS and Flash to make compelling, thrilling websites. 

    After sometime, it became clear that the web is made up of hyperlinked text files (and very clearly not Flash). That’s it. Plain and simple. Even to this day. At a fundamental level, servers powered by PHP, Ruby, JavaScript or whatever — all pump out text documents (encoded by a markup language called HTML) that browsers can understand and parse (despite minor rendering differences it’s amazing that it all works). These linked text documents or hypertext, are plainly speaking webpages.

    Just some <div>s hanging around.

    Learning how to write a valid HTML document took a lot of trial and error, considerable patience from my mentors, and fixing my mistakes along the way. So, if you have any hypertext mysteries let me know — I’ll pay it forward, leave me a note in the comments. ☺️ Onward!

    HTML Content Categories

    I never really was given an answer for such a seemingly simple question: what exactly is a <div> anyways? I mean there are some very obvious elements at our disposal:

    • The <p> is a paragraph tag.
    • The <blockquote> is a blockquote tag.
    • The <ul> is an unordered list tag.

    All HTML elements have inherent uses, and belong to certain content categories. The <div> belongs to the flow content category. Here’s some other HTML content categories:

    • Metadata content (out-of-band information and meta)
    • Flow content (typically contains text or embedded content such as the <div>)
    • Sectioning content (headers, footers, or sections — organizational structure is important)
    • Heading content (heading levels, sub-headings, etc.)
    • Phrasing content (these define the text and the mark-up inside paragraphs such as <em>, <strong>, or things like <span>s)
    • Embedded content (these are typically external resources such as <iframe>, <canvas> or even <svg>s)
    • Interactive content (these are your <button>, <textarea> or <label>s)
    • Palpable content (this one is a bit abstract, but these are elements who are neither empty nor hidden, important for script manipulated content) 
    • Form-associated content (these are typically children nodes of the <form> element, or children of the form attribute)

    This brings us just about up to speed to talk about the the Content Division Element, or the <div>.

    The Content Division Element, or The <div> Tag

    While some elements have a more obvious progeny, the <div> is a bit different. It’s something of a marriage between a generic container and an inline-container, but somehow… it’s neither.

    From the <div> Mozilla HTML Reference:

    The HTML Content Division element (<div>) is the generic container for flow content. It has no effect on the content or layout until styled using CSS. As a “pure” container, the <div> element does not inherently represent anything. Instead, it’s used to group content so it can be easily styled using the class or id attributes, marking a section of a document as being written in a different language (using the lang attribute), and so on.

    There you have it. While the <div> has no stylistic weight, but it can turn some heads with a litter bit of CSS love. But it’s true purpose is one of organization. Take for example, the typical and highly sought after Holy Grail Layout:

    A basic Holy Grail setup with proper sectioning content

    Simple and empty for now, we can further sub-divide our sectioning content areas (<header>, <nav>, <main>, etc.). We’ll use <div>s to contain and organize the inner content:

    The same sectioning content, with further divisions using <div>s

    And violá! Inside your <div>s you put your heading, phrasing, or embedded content (or anything else for that matter). It’s all about organization. 👌

    The <div> Soup Problem

    It’s important we use sectioning content and flow content properly. Otherwise we’ll end up with <div> soup like Google:


    Look at that mess!

    While it’s not the end of the world, div soup presents a readability and productivity challegne for humans. Let’s say you inherit a project built like the figure above. There will be a considerable amount of technical debt, learning the organizational structure, and possibly re-factoring the div soup for efficiency. Web Components may be a future solution, but I don’t think it’s a winner.

    Anyways, thanks for joining me on this journey to the center of the <div>. The web’s most prolific flow container.

    Further watching:

    Professor Brailsford makes a guest appearance on Brady Haran’s Computerphile, and has some hot takes about HTML and programming. Brilliant fun.

  • In a seemingly odd turn of events, Valve has acquired Campo Santo. The creative brains behind the insanely popular and wildly fun game, Firewatch clearly have caught the eye of Valve. While I’m happy for everyone involved — as a gamer, I’m very concerned.

    Firewatch is a fucking fantastic game. It was co-produced by Panic (creator of Transmit, among other software). As of writing, Cabel Sasser has been quiet on Twitter in regards to the news of Valve’s acquisition. Which, also concerns me.

    It should also be noted that the Firewatch website is really rad too. Check it out here.

    Valve hasn’t produced a single game title since 2013. The software company has clearly been far more concerned about Steam and hardware (or lack thereof?) since their last release, Dota 2.

    Parsing the press release from Campo Santo is bittersweet:

    The twelve of us at Campo Santo have agreed to join Valve, where we will maintain our jobs as video game developers and continue production on our current project, In the Valley of Gods.


    Yes, we’re still making In the Valley of Gods (as a Valve game!); yes, we’ll still support Firewatch; and yes, we’ll still produce The Quarterly Review and our regular blog content. Thanks so much for your interest in our games and we’ll see you in Washington. Cheers.

    On one hand, it’s great to see Valve making serious creative moves, and poaching some amazing talent. Valve has historically made some of the best games I’ve ever played. No doubt, they’ll produce more games that fall into the same echelon. With cart blanche from Valve, they can produce some insane titles in coming years for Valve. I mean, Valve now has some of the lead developers from the award-winning The Walking Dead S1 title.

    But on the other hand, Campo Santo really has some real grit. And, honestly, the gaming community could use more independent studios. As larger studios gobble up talent, everything (from creative, to platform choice) can become a bit incestuous. Which is bad for gamers.

    I’m hopeful… but skeptical about this acquisition. Turns out, I’m not alone.

    Further Reading:

  • Revisiting Card UIs

    Who doesn't love going down the rabbit-hole on Wikipedia? Easily one of the most beloved treasure troves of information.

    Well, a couple of days ago, Nirvar Pangarkar (@nirzardp), Designer at the Wikimedia Foundation documented his process for rolling out a new feature at Wikipedia. This new feature, isn't particularly groundbreaking. But, I do suspect it will become the norm for Card UI components on the web.

    It's called, Page Previews. Something of a marriage between alt-text and a card. Check it out:

    Graphic by Nirzar Pangarkar/Wikimedia Foundation, CC BY-SA 3.0. Text and images from the indicated Wikipedia articles in various languages.

    This looks pretty cool. It's also live by the way! This was literally rolled out 48 hours ago. Visit any random Wikipedia article to see it for yourself.

    An example of a page preview while hovering over the hypertext "home computer" in the Apple II article.

    It's definitely not a new idea, but it's an effective use of card UIs nonetheless. It's an even better example of design solving a problem. To be brief, Wikipedia was having a problem with users rabbit-holing maybe a little too much or in other words, a lot of random pageviews ≠ learning:

    This is one of the most iconic and popular user patterns we see on Wikipedia. People start on one article, and then head somewhere else, and then somewhere else, learning about lots of different topics along the way.

    We design for these readers, optimizing not for page views or engagement — but for learning. And it turns out that context is a key part of learning.

    Nirzar goes on saying that it's possible this preview card UI language could be extended to the wikipedia editor tools and other content types (think audio playback, pronunciations, or quotations). Neat!

    While we're on the subject of context, I want to share this tid-bit from Dave Rupert's, Pitfalls of Card UIs:

    I’m of the opinion that all cards in a Card UI are destined to become baby webpages. Just like modals. Baby hero units with baby titles and baby body text and baby dropdown menu of actions and baby call to action bars, etc.

    The desire to reduce clicks increases complexity and raises the cognitive load. Depends on your situation, but I honestly think the workaround here is to go back to having a strong detail view pages. Scope cards in your UI to truly being previews or –to borrow a term from the watchOS Human Interface Guidelines– a “glance”.

    Dave's note about cognitive load  is important for Wikipedia. A page preview card potentially disrupts a users desire to bounce. Allowing Wiki-users to consume as much contextually relevant content possible before bouncing. Looks like a win for Wikipedia, and a win for staying on topic the next time you're researching anything on Wikipedia.

    I guess cards are destined to become little baby webpages! 👶

    Note: if you don't see page previews while on Wikipedia, you may need to login first and enable it under Preferences > Appearance.

  • Tide NYC

    It’s no secret that I love DigitalOcean. I host this site on a DO Droplet. Hell, I host most of my web projects with DigitalOcean. Pretty much ever since 2012. They have a great product, that has never really disappointed me.

    Another reason I love DigitalOcean? They host events for all walks of life. They host Hacktoberfest, an annual hack-a-thon. They get everyone amped about closing open issues, unit testing and it’s a nice way to get a bunch of nice people together to support open-source.

    On April 24th, DigitalOcean is hosting an afternoon of tech talks. I would say this event is aimed at the backend/founders audience. You’ver software engineers, development team leads, dev-ops, co-founders, and CTOs. If that’s not your jam, hang tight for the summer, or better yet Hacktoberfest!

    Here’s the lineup for Tide NYC so far:

    • Ben Uretsky – Co-Founder & CEO, DigitalOcean
    • Shiven Ramji – VP Product, DigitalOcean
    • Anshul Pandey – Co-Founder & CTO, Accern
    • Reynold Harbin – Director, Product Marketing, DigitalOcean
    • Russell Bierschbach – Managing Partner, RouteTrust
    • Yvan De Boeck – VP of Software, Bevi
    • Nic Jackson – Developer Advocate, HashiCorp
    • Bryan Liles – Staff Engineer, Heptio
    • DigitalOcean Hatch Founders
    • Tammy Butow – Principal SRE, Gremlin
    • Ariel Jatib – Founder, StackPointCloud
    • Dan Kohn – Executive Director, Cloud Native Computing Foundation
    • Manju Ramanathpura – Senior Director, Product Management, DigitalOcean
    • Mike Roberts – Partner, Symphonia
    • Shiven Ramji – VP Product, DigitalOcean

    This looks really cool. Jam-packed with insights from executives, and co-founders. If you run a web product, you should RSVP. Maybe I’ll see you there 👀

  • Cloudflare has a lot to offer. They provide DDoS protection, site reliability products, SSL certificates, CDNs and a whole host of other web-related services. Today, they announced (with help from APNIC), they want to provide a privacy-first, blazing-fast DNS service.

    You might be wondering, what is DNS? Well, every single click, HTTP request and Google search begins with a directory lookup. When you click on a link, your device is actually asking the directory to figure our “where is this domain or site?” Since most ISPs are snooping your web traffic, and are becoming increasingly slow to even resolve these requests to your requested destination — changing your DNS can positively improve your browsing experience.

    DNS performance chart from: DNSperf

    This is seriously great news for the web. Even better news for privacy. Cloudflare promises to never sell your traffic information to anyone. Also, remember when Turkey was blocking Twitter traffic? Yeah, this is a solution to state-sponsored DNS meddling. Privacy-first DNS services are very important to the health of the web, and openness. So happy to see this news, especially since Cloudflare’s recent banning customers for publishing hate speech sites. I think CloudFlare is making all the right moves.

    If you want to change your DNS provider on Android, macOS, Windows (or any digital device for that matter), CloudFlare put together a microsite to help you get started. It takes 2 minutes, if that.

    You can read more about this awesome announcement from Cloudflare, here on their blog.