2020 December
- 🔗 HTML Tags Memory Test via pocket
- I've talked a bit about mentoring in software development before, and how early on I used to get feedback about me being "intimidating". I never got any concrete feedback regarding that, so I don't know what problems I had specifically. Though I was recently reminded of one particular incident that was a bit cringey for me personally. This was a bit more than 10 years ago I think. I was usually assigned to mentor new hires, which means fresh graduates who usually needed guidance with a Java (which was our primary programming language at that time) and with our in-house
2020 November
- I recently did a server migration since I moved to new hosting, The move was from managed/shared hosting to a VPS, these are some notes I took during the process, which I figure might be helpful if I ever tried to do this again. (And maybe someone else finds it helpful too). Links and references to helpeful resources are included. Setting up a webserver and WSGI container I already knew I wanted to use Nginx (managed hosting on the old server always used Apache), that meant needing to choose a WSGI container for the Django apps. The choices were either
2020 September
- This post is just quite a few thoughts on mobile apps and mobile app development, all mishmashed together. I don't claim to be a mobile app specialist, at best I've dabbled in them, but enough to form some opinions I guess? A Bit of History My first exposure to mobile app development when I got pulled to help my then-company's then-fledgling mobile team with cleaning up the codebase for their iOS app. This was back in maybe 2011? It was one of those projects where some devs built a quick proof-of-concept demo using new technology, then management liked it and
2020 August
- Mozilla made the tech news recently for laying off a whole lot of people. (Official statement). People were alarmed and worried about the future of what is the last major independent browser and the open web, bit it looks like it isn't that bleak. Most of the layoffs were to teams other than those working on Firefox, things like the experimental browser engine Servo, devtools, and MDN. The core Gecko team seems to be unaffected. Not that these things aren't important. MDN, if you're not familiar, is a set of documentation of web standards and browser support, available online, that
2020 July
- So recently Github secretly rolled out a new feature where you can create a file named README.md in a repo named github.com/<your github username>/<your github username>, and that markdown file would be rendered on your Github profile page. It means, you can now put basically anything you want on your Github profile! I just read this post from Simon Willson about using this new feature + Github actions and a Python script to automatically generate and update his Github profile. That seemed neat so I thought about how I would do it. My blog is already setup to publish using
- In several places on this site (like if you click Photos in the menu up top), I have a grid-like view of a list of photos/images: I used to just have each thumbnail open the post permalink on click, with the anchor set to the image itself. The image would be shown in full size inline of the post. This was a bit clunky and not so modern, so I decided to implement it so that the image lists instead will show a Lightbox-style overlay with the full image and some details and an option to click through to the
2020 June
- I had been meaning to quit Facebook for more than a year maybe, but I kept putting it off. The main reason being that I like having backups of my own digital data (still very much a pack rat), and Facebook's social media export is less than ideal, for me at least. Less than ideal why? It doesn't include a lot of content I would like backed up, including: comments on my posts (there have been some good conversations with friends over the years I would prefer to preserve) things I've reposted from other people content of certain groups I'm
2020 April
- I've had the good fortune to be on the interviewer side of technical interviews much more often than I've been the interviewee. I've been doing a few more of these over the past couple of years and made some notes, so I thought I'd talk about technical interviews for a bit. Caveat: these are largely based on my own experiences, in the local environment here in the PH. Technical Exam / Screening Many companies will ask applicants to undertake a technical exam before letting them advance to further stages of the recruitment process. This kind of screening is most useful
- Unless you’re working at a small shop that only serves local clients, software development these days is often an international endeavor. That means the aspiring software developer needs to be able to work with and get along with people of different cultures. In the company I worked with, most projects back in the day we would have a person from the foreign office in charge. Their roles were either as project manager (PM) or system analyst (SA). They were the ones who would be interacting directly with the clients so they get to decide which things need to be done
- Just last month, I wrote a method of implementing element toggles using a pure CSS approach. While that post was educational for me, it turns out there was an even simpler way of doing things. I found out about it when I read this post by Jamie Tanna. Apparently the details and summary tags already support HTML toggles, so we can do this with neither CSS or JS! I've updated the spoiler tags on this site to use this new method. I also used this method for the Table of Contents on certain posts (currently only the Covid19 diary). Sample
- A while back one of the biggest leaks of personal information in history was made by hackers accessing the Commission on Elections database here in the Philippines. More than 50 million voter registration records, including information such as full names, date of birth, address, among others. A small percentage of the data leaked also included email addresses and even passport numbers. The hack exposed more than half of the country’s population to the possibility of social engineering and other exploits. It was certainly a national embarrassment, especially for those of us working in software development. But the truth of the
- For most of my time working on software projects, it has always been for bespoke projects. Bespoke basically means a software program or package tailor-made for a specific client. The client provides all the requirements, the team fleshes out more details and specifications, some prototyping may or may not ensure, and implementation proceeds thusly. It’s relatively straightforward compared to product development. I only started getting involved with “product”-like projects over the in the latter half of my career as a software developer. A "product" is a more general use software program or package, perhaps sold to the mass market or
- It's naked CSS day, so the site looks super bare-bones today! Inspired by Laura Kalbag and Eric Meyer. Trying out the site without the CSS made me realize how I wasn't setting width and height for the svg icons I was using, so they became huge when the CSS was removed. I also rearranged the templates so the footer is at the end of the document (previously it was being put there by CSS). So at the very least this did lead to some fixes! (Hopefully I don't forget to restore the CSS tomorrow!) Screenshot of the Naked CSS version
2020 March
- Drew Devault wrote a great post/rant about the reckless limitless scope of modern web browsers: I conclude that it is impossible to build a new web browser. The complexity of the web is obscene. The creation of a new web browser would be comparable in effort to the Apollo program or the Manhattan project. For the past year or so, I've been thinking about contributing to an open source project. Haven't gotten around to it yet, but I have looked at a few projects of interest. Preferably it's something I use on an every day basis, so Firefox was one
- Edit 2020/04/17: A month and a half later, I found a better way to do this! I previously had some post that had some content hidden via spoiler tags, using a custom Hugo shortcode. Since I'm an old-school developer I was previously doing this using some Javascript run on load: let elements = document.querySelectorAll(".spoiler_header"); Array.prototype.forEach.call(elements, function(el, i) { el.addEventListener( 'click', function( event ) { let nextEl = el.nextElementSibling; let display = getComputedStyle(nextEl)['display']; if (display == 'none') { nextEl.style.display = 'block'; } else { nextEl.style.display = 'none'; } }, false); }); This is the modern age however. We should really be
2020 February
- In the middle of 2015, after 12ish years of working at the same company, I said to myself "I think I'm burnt out."
- There was this great (and long!) article that came out recently about the history of CSS. It reminded me a lot of the old days when I started out in web development. So join me in a walk down memory lane as I reminisce about the trials and tribulations of early web development. (This one isn't about CSS as much as that linked article.)
2020 January
- In a bid to reduce the number of webapps actually running on my server (for resource consumption reasons), I decided to migrate a small Flask app I had and merge into this larger Django app where I have a lot of my personal data tracking stuff. The Flask app was small enough, mostly containing backend support for this blog (like search and comment submissions) and some Twitter things. The migration was straightforward, taking around half a day, most of that was wrangling with Twitter API rate limits. It got me thinking, why did I build this using Flask in the
2019 November
- I was helping my brother check some database issues the other week, and he mentioned how impressed he was with how quickly I was able to come up with SQL queries on the fly. I told him that SQL was one of the skills I considered myself to have mastery over. This shouldn't be surprising given my early career path: for most of my first year working as a software developer, I was working on reports which involved lovingly handcrafted (and oftentimes quite complicated) SQL queries. And there was a lot of Oracle PL/SQL too by my second year, I