Category: tech

Watch Your Logs! Stop the Bad Guys!

If you’re running a WordPress site with the Apache web server and haven’t looked at your server logs, it’s time you did. Unless you’ve installed some fairly heavyweight server and network protections you’re going to see that probably most of the traffic to your web site are hackers looking for vulnerabilities they can exploit.  Log entries like this: 116.193.76.165 – – [17/Nov/2020:00:55:37 -0500] “GET //wp-login.php HTTP/1.1” 200 6032 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0” 116.193.76.165 – –

Read More »

So maybe I’m not a horrible designer after all

I’m just not a very good one.  When you’ve worked with designers as good as Michael Pinto at VeryMemorable I would at  best describe myself as graphically challenged. A little relevant background: I began my techie life as an 8088/86 assembly language programmer, a skill that’s all but disappeared with today’s incredibly faster processors and terabytes of addressable memory. I didn’t have a graphics monitor, just an IBM monochrome display that only displayed ASCII so I couldn’t have been artistic

Read More »

How NOT to provide tech support

I won’t get into the details of installing the Ubiquiti access point hardware. There are plenty of videos and how-tos on the web for that. Instead, this article is about the troubles I had installing this hardware. I finally got it working, no thanks to Ubiquiti’s crack tech support channel. My Unifi purchases: Security Gateway 3P Switch 8 POE-60W Switch 8 POE-60W (2) Cloud Key G2 I also invested in a bunch of short Ethernet cables. You will need these

Read More »

Database Meets Revision Control

Any developer who has worked with HIPAA compliancy knows that the law is murky at best and the fed doesn’t publish a programmers’ guide to make your life any easier.  However, one of the cardinal rules is the requirement to keep track of who sees HIPAA data, who modifies it and when this was done.  Another is that if you delete/update patient data you need to log what was deleted/updated in order to provide an audit trail, if only for

Read More »

Setting up a hybrid Google Apps mail account

I’ve run my own mail server since, well, the UUCP days. I used to host a lot of mailiing lists so over the past 20+ years I’ve run Sendmail, Exim, Qmail and Postfix. They’re all different but they share one thing in common: unless running mail servers is your hobby, they’re not fire-and-forget applications, especially in the high-spam, high-malware, post-Snowden environment today.  Maintaining a mail server is a chore. You walk a fine line between being buried in UCE and

Read More »

SSH Tunnel for PostgreSQL Connection on AWS EC2

AWS has become a fairly ubiquitous hosting option for small companies. But developers typically work on local dev setups outside the host and occasionally need access to the main dev and staging databases located on AWS. How do you do this and still run in a secure environment? One thing you don’t do is poke a hole in AWS’ firewall and run PostgreSQL’s port in the open. An interested hacker only needs to sniff the connection to get the login

Read More »

SMB+SSH: Ubuntu server and OSX client

The title above is pretty close to the Google search query I used in vain to find a recipe for tunneling an OSX Samba client to an Ubuntu 14.04 server. Hopefully this post will save someone the hours I spent trying to set this up. In the end, like so many Unix projects, the answer turned out to be simple. All that’s needed is a configured and functioning Unix/Linux Samba and SSH server .   Everything else is on the client side. I’m not

Read More »

Optimizing a Result Set Pager

It’s ubiquitous on data driven web sites: the result set pager.  We’ve all used them whether we built them from scratch or used one provided by the framework. Pagers are by nature performance suckers because we’re asking the database to re-run the same query for each “page”, slicing off just one set of contiguous rows for each page. If your result set is 10,000 rows long but you’re only paging through them 10 rows at a time, that’s potentially 1,000

Read More »

Remote SSH Filesystems on OSX

Developers, particularly web developers, have a need to work on external computers, often not within their local networks.  Over the years I’ve employed everything from FTP to SFTP/SCP to Samba to NFS to VPNs to cranky Novell networks.  All have their downsides, particularly with regard to security. I have a MacPro and originally ran NFS to connect to machines on my LAN.  But as Apple released new versions of OSX it became more hostile to NFS, to the point where it because unusable with my Ubuntu-hosted web server.  I retreated back to

Read More »

Embedding a View in a Node

A couple of people asked me how I embedded the client logo slideshow inside the content area of the “Brooklyn Technical Services has over 20 years’ experience…” node on the front page here. Actually, that was the easy part.  The hard part was building that slideshow, mainly because I hadn’t done it with Drupal 7 before.   After several false starts I found a great video tutorial on Views Slideshow by a Toronto developer who walks you through the process, step

Read More »
Scroll to Top