nihilism

nihilism

Tagged with: ,
Posted in pictures

list of US metropolitan areas

This is a list of US cities with population over ~15k

Continue reading “list of US metropolitan areas” »

Tagged with: , , ,
Posted in resources

essential and useful WordPress plugins I’ve tested and used

After installing and removing zillions of them, here are my faves:

BJ Lazy Load

Lazy loads images and other embedded media so that they are not sent to the client until the client scrolls near it. Saves bandwidth and makes for speed.

Breadcrumb NavXT

Automatic breadcrumb links on pages to ease navigation

Child Theme Configurator

Easily create and edit child themes based on themes already installed. This way you can update the third-party theme without losing custom changes to it.

Easy Updates manager

Allows disabling of updates of specified resources (WP core, themes, plugins, etc.). Useful if you don’t want your client bothered by update notifications.

Google Analytics Dashboard for WP

GA integration which inserts the tracking code on every page and also gives you a nice traffic history report on the admin dashboard.

Insert PHP

Allows insertion of PHP code in the WP content editor using tags like [ insert_php ]

Public Post Preview

Creates a link to an unpublished version of a page or post that you can share with anyone. Viewer need not be a registered user or admin. Perfect for in-place-UAT.

SEO Ultimate

Handles automatic metadata generation and tons of other SEO features.

TinyMCE Advanced

Must-have enhancement for the WordPress WYSIWYG content editor which adds many features.

UpdraftPlus

Automatic backup and restoration via S3, Dropbox, Google Drive, Rackspace, FTP, email, etc. I use this for weekly backups to my Google Drive.

Wordfence

Extensive security and virus-prevention package with automatic scanning and malicious user lock-out.

WordPress HTTPS

Helps WordPress cooperate with SSL/HTTPS-configured sites.

WordPress Visual Icon Fonts

Makes Font Awesome and Genericons icon sets available in WordPress.

Tagged with: , , , , ,
Posted in how-to

boost

20150831_224257

Tagged with: ,
Posted in pictures

does not contain juice

20150911_185252

Tagged with: ,
Posted in pictures

firing background tasks in PHP

Background case

madisonrightnow.com is a collection of near-real-time information about a metropolitan area. Traffic, weather, parking lot usage, and loads of web cam images are displayed on one page. Data come from a wide variety of sources: images come from cameras, weather data comes from a web API, and parking lot utilization come from good ol’ fashioned page scraping. All these transactions are triggered when a user wants to view the page. It is a challenge to get near-real-time information to the client from so many sources without a lot of pre-processing on the server end, and without the client having to make connections to a myriad of hosts to get images and other data. I found that asking the client to load all this makes the page too slow to load.

The solution is to build a server-side caching mechanism, so all the data and images are ready to go when the page is hit, and so that all transfers are between madisonrightnow.com and the client without having to wait on anybody else. This can cause the data served to be a little older, but is much better than asking the client to open connections to dozens of hosts and wait for every one to completely reply before the page can render. Under the caching scheme I developed, all data on the page are loaded from my server in order to give the user a smooth experience when expanding UI panels after the client renders it.

Continue reading “firing background tasks in PHP” »

Tagged with: , , , ,
Posted in how-to

single floppy disk

wpid-20150419_144816.jpg

I came across this Commodore 64 floppy disk drive in its original box at the hackerspace. Remember the days when floppy drives were this big? I don’t… just a little too early for me.

Tagged with: , , , , ,
Posted in pictures

the trouble with pixels

The PC industry is presently in a period of major bungled transition and chaos related to high-DPI hardware being released before Microsoft and Windows applications can support it. By mistake, I bought a laptop with a beautiful 13″ 1920 x 1080 screen with a 276 pixels per inch density. Packing this many pixels into a small space means that to display something at the same physical size as a standard-density display, it must be “larger” in terms of the number of pixels used to represent the intended object, whether it be a window, text, buttons, graphics, etc.

A typical 13″ display is made of 1440 x 900 pixels at 110 pixels per inch.

Compare:
13.3″ 2014 Samsung ATIV Book 9 Plus: 1920 x 1080 = 2,073,600 pixels
13.3″ Mid-2007 Apple MacBook: 1440 x 900 = 1,296,000 pixels

What does it mean when you cram nearly twice as many pixels in the same space as before? Everything appears half its usual size. Thus, the operating system software has to double the size of everything it displays in order for it to physically appear the correct size. They haven’t figured this out yet.

The vast majority of Windows software is not designed for this, and Windows itself does a terrible job at dealing with this. I tested Ubuntu 15.04 and it wasn’t much better; for example Google Chrome’s UI will not scale.

Microsoft and Samsung grossly mishandled and/or neglected their implementation of DPI scaling. For example, take a look at this application, Arduino. The text and interface are impossible to read unless I move my face to within 5″ of the screen. This renders the application completely useless, and there’s nothing I can do about it.

Capture

An example of an application which does not support high-density displays. The text an interface features are impossible to see.

My advice to you: Hold off on your next laptop purchase. Wait a while until the software industry catches up with the advances in hardware. Samsung ATIV Book 9 Plus was initially a haphazard product.

Tagged with: , , , , ,
Posted in pictures
filter