AboutSelf employed developer, educator, and Japanese linguist. Been learning iOS development during the lockdown.
SkillsPHP, JS, Swift, some C, various old BASIC dialects...
Joined devRant on 2/19/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Looking for ideas here...
OK, customer runs a manufacturing business. A local web developer solicits them, convinces them to let him move their website onto his system.
He then promptly disappears. No phone calls, no e-mail, no anything for 3 months by the time they called me looking to fix things.
Since we have no access to FTP or anything except the OpenCart admin, we agree to a basic rebuild of the website and a redeployment onto a SiteGround account that they control. Dev process goes smoothly, customer is happy.
Come time to launch and...naturally, the previous dev pointed the nameservers to his account, which will not allow the business to make changes because they aren't the account owner.
"We can work around this," I figure, since all we *really* need to do is change the A records, and we can leave the e-mail set up as it is (hopefully).
Well, that hopefully is kind of true—turns out instead of being set up in GoDaddy (where the domain is registered) it's set up in Gmail—and the customer doesn't know which account is the Google admin account associated with the domain. For all we know it could be the previous developer—again.
I've been able to dig up the A, MX, and TXT records, and I'm seeing references to dreamhost.com (where the nameservers are at) in the SPF data in the TXT records. Am I going to have to update these records, or will it be safe to just leave them as they are and simply update the A record as originally planned?6
So, to keep a long story short, I am for the second time in my life the proud owner of a Macintosh Performa 6115CD in working order. The original Descent is just as fun as I remember it being—after taking a day to remember the best control configuration for keyboard.
I've got some ideas on how to get it online* so that I can transfer things to it.
Just for fun, however, I've been thinking it might be an interesting project to try and do some programming for it. I got my start on this setup, though not in Objective-C. Anyone happen to know of any free/abandonware coding setups for classic Mac? Running 7.5.3 at the moment.
* Link: https://metalbabble.wordpress.com/2...
"Shit, we haven't even come up with a safe word yet!"
"Don't worry, your RSA token has been sent to your e-mail."1
So, was testing a classic Mac an old friend sent over and realized an interesting convergence had occurred in my office.
In the attached shot you can see the following:
Center: A Macintosh LC III - effectively the last of the 68k Mac line
Right: A PowerMac G5 - one of the old cheese graters, and the last major release of the PowerPC line
Left, under the monitor: A 2020 Mac Mini - effectively the end of the Intel Mac line
The LC III gives a startup chime, but I wasn't able to get a video signal out of it using the Apple-to-VGA adapter I was using. Otherwise I'd be posting a shot with all 3 up and running.2
OK, so I've been working on processing a Japanese dictionary file and things are going smoothly for the most part. Out of ~185,000 entries, I've got 35 that are still causing problems.
The error I'm getting is "Incorrect string value '\xF0\xA4\xAD\xAF' for column...". I've checked all of my encoding and collation settings, and I'm pretty sure I've got it set to properly implement all of Unicode (as well as it does, anyway), as shown in the image attached. My suspicion is the problem characters are likely among the JIS X 0213 character set; in either case we're clearly dealing with a 4-byte character encoding issue here.
If needed I can attach a flag in the database and base64 encode these particular entries so the data isn't lost, but I'd like to just get it to handle the data properly in the first place if possible.
Anyone have any ideas on other items I can check to resolve the error?10
OK, so with a lot of free time on my hands, I figured I'll finally sit down and figure out how to use Xcode and write iOS apps.
Hit the iBookstore and check out the latest version of their guide to "App Development in Swift", and...promptly run into a brick wall because it's based on Xcode 10 and Xcode 11 seems to organize projects in a completely different manner.
Decide I'll just hit developer.apple.com and check the resources there...to find they're all written for Xcode 8.
Online tutorials have been mostly misses because of mutual incompatibilities between different versions of Swift rendering anything but the latest version useless, it seems.
Which is a long way of asking, does anyone know of any good resources for someone trying to finally figure all this out?5
So, if this e-mail I just got is right, Automattic (aka, WordPress) just acquired tumblr.
New job is going well overall, but...
Just overheard a conversation with two coworkers and heard them both say “jif”, unironically...7
Signed up for a market research company (ironically, that I used to work for as a transcriber about 10 years ago) to pull in a bit of extra cash.
They sent an e-mail back confirming my registration.
With the password in plaintext.3
OK, I've got a couple customers I provide e-mail hosting for, but recently it's been...more trouble than it's worth, to put it simply. I'm looking to offload that part of what I do onto another service.
Does anyone have any recommendations for e-mail hosting services? Bonus points if they have good customer support.3
The "voluntary" Affirmative Action tracking questions on your site's job applications are no longer voluntary if you don't have an "I choose not to say" option and refuse to accept the placeholder "Choose One"...
"Refusal to provide this information will not subject you to adverse treatment." ...other than the inability to submit your application, of course.
Set up customer's e-mail addresses in Plesk. Worked fine in testing, all goes well for about a week.
Then their e-mail stops delivering. Stuff arrives, but outgoing messages either bounce or fail silently altogether. I contact 1&1 support, and they help set up SPF and DMARC on the domain, and then we wait and see once the DNS changes propagate.
Well, something about these changes caused my business e-mail (on a separate server) to exhibit the same problem now, when it had been working for 3 years without issue prior to that.
Check back with 1&1 2 days later to see why the first one isn't working; we verified all of the records across everything, tweaked a couple other things (like setting the full hostname in Plesk to mail.servername.com), and waited 2 more days.
Still having the same problem on both accounts. did a bit of looking up the issue for Plesk and found that in order for SPF/DMARC to work, they have to be activated on the Plesk-wide mail settings, and then again individually at the domain level.
Made these changes on my business e-mail's server and domain and it fixed the problem!
Made the same changes on the server with the customer's domain and...still seeing the same issue.
Have checked all settings between them and they're identical. All the appropriate DNS records are in place. I'm kind of at a loss for waht else to check at this point.1
Spotted this and it was too good to pass up. For those not familiar with the word used in the punchline, I suggest you not do what a coworker did when she decided Google Image Search was a good way to figure out what “teabagging” was...11
Cleaning up my desk at the office today. As I'm sure is the case with most of us, I have a draw that's full of old technical crap that's not currently in use (mice, charging cables, USB hubs, routers, access points, cameras, old phones and iPads, you get the idea).
Found out that not only do I have an extra Mini-DVI to HDMI dongle; I apparently have 3 of them. That's more than I've got available Mini-DVI ports to begin with.2
When you’re rebuilding a major project and find a CoTS solution that you didn’t think to look for when starting the project 2 years ago...
Well, lessons learned in a lot of ways here...
Teaming up with a marketing firm looking for a developer. The owner was showing me a couple samples of Craigslist postings that he gets sent every day by a filter he has set up so that I can provide some feedback on what would be a good fit.
Second listing we pull up looks reasonably good at first, then I notice this bit at the bottom:
“Must be available to do design review calls where we’re both on the phone, I tell you what needs to be changed, and you do it on the spot.”
Politely but firmly let my new friend know that that right there was a big red flag saying to move on.
Anyone else have helpful criteria when trolling these kinds of postings?
Another rant reminded me of one of my dad’s favorite sayings about experience...
Some people have ten years of experience. Others have one year of experience repeated ten times.
..and for ohers, the recursion interval is shorter still...
As a bonus, here’s another personal favorite: “Nobody’s completely useless. They can always be used as a bad example.”1
Don’t really put stickers on my laptop, however the rectangular DevRant one has done a great job marking my primary external USB drive since I got it...
For those who speak some Japanese and want to expand their skill set a bit, I found a great introduction to PHP in Japanese a few months back, and have been reading through it primarily with the purpose of learning programming vocabulary and figuring out how to express concepts properly from a grammatical standpoint.
If anyone's interested, here's the link: https://www.javadrive.jp/php/
Scroll down the page for an index of topics.6
Working on a new payment gateway for one of my customers, and it turns out that instead of just specifying the parameters for what to include in the API call they want you to use their drop-in module for it...which is still written in PHP 4 and hasn't been updated since 2011. Also turns out that they only accept data formatted in XML.
Not insurmountable, but more than I feel like dealing with right this moment...7
So, my car's odometer finally rolled over to 100,000 here a couple weeks ago. Been having fun watching it hit various binary values again (100001, 100010, etc.).
Not exactly wrong there. I got started at 10 with odds and ends for fun.
Took a semester of it in college before switching because the compiler and I didn't get along.
Only to pick it back up via self-study 10 years later because the programmer who came on board for a side project never showed up and I wanted to keep things moving.
10 years later still, I'm now running a web design shop full time.
Accepted a feature request that practically doubled the workload without asking for more money, on account of trying to be fair to a customer who was working through a translator.
Only to get stiffed on 3/4 of the money agreed to in the first place.
Only saving grace was everything was on my servers, so I took him down for non-payment.1
Quick Plesk config question...
Been getting open_basedir() notices in the WordPress logs, and frankly it's flooding the log right now. Sample below:
[24-Feb-2019 07:05:19 UTC] PHP Warning: file_exists(): open_basedir restriction in effect. File(/var/www/vhosts/webspacedomain.com/SiteInstallDirectory/wp-content/db.php) is not within the allowed path(s): (/var/www/vhosts/webspacedomain.com/:/tmp/) in /var/www/vhosts/webspacedomain.com/SiteInstallDirectory/wp-includes/load.php on line 397
Checking the settings for open_basedir in the domain's PHP settings, it's currently set to the following default value:
By my read, that **should** be granting permission to the directory. I just checked it against the setting on the dev server (which doesn't report this error), and it's configured in the same manner. Only difference between Dev environment and this one is that the one in Dev is in vhosts/webspacedomain.net/DEV instead of just vhosts/webspacedomain.net
Is there something I'm missing here?4
Getting ready to finally launch a WordPress Multisite project I've been working on for over a year this weekend...and version 5.1 drops today.
And has significant additions in Multisite functionality that I should implement prior to launch while it's comparatively painless, rather than when we've got a bunch of sites with data to reconfigure.
Have some downtime today, so since I lucked out and found some old backups (from before I used Git) of a project I was planning on revisiting, I decided to fire it up and see what I can do to get that going again.
And discovering just how much my coding style has changed since then...
[Code is in PHP, for reference]
* Virtually no documentation (whereas my current style is near-obsessive with PHPdoc blocks)
* Where comments exist, they only use // and are a full tab after the end of the line
* All assignment operators are dutifully aligned on tabs
* Have to update the entire codebase because it relies on deprecated `mysql_*` calls
* Have to flip all of the quotes throughout the codebase because I used double-quotes as my primary at the time instead of single quotes.
* Also relied on magic quotes for injecting variable content into strings
* Associative array practices varied; sometimes the names are encased in double quotes, but I just hit a block where it's all leaving it to the compiler to interpret unquoted string literals
And perhaps the most egregious so far...
* Any time we get database results back the process for cycling through them is to do `$count = mysql_num_rows($result);` (or $count2, etc.), then do a `for ($i = 0; $i < $count; $i++)` (again, or $j, $k, etc.), instead of just a simple `while ($data = $result->fetch_assoc())`2
Silly question, but why is it that in this age of 64-bit computing and gigabytes of RAM applications still have trouble with text files/SQL dumps over 1MB in size? Surely for something so simple it should be able to store it all in memory without any issues, no?9