Pages Tagged “Programming”
Tech Tips
- Automate or Not? Sometimes it takes longer to automate something than it would to just repeat it yourself. Sometimes it’s worth doing anyway.
- Broken HTML Email on Lucee CFMAIL on Lucee through 5.x uses an encoding that can break minified HTML or CSS when sending formatted email.
- cfspreadsheet + GetTempFile() = NullPointerException In ColdFusion, CFspreadsheet expects to write to a .xls extension, not .tmp, so you have to make sure the name ends in .xls before you write to it.
- Cloning a GitHub Repo via Mobile Firefox Even on a tablet with a big enough screen that GitHub looks like it’s showing the desktop version, you might have to insist on it to get all the buttons to appear.
- Combining RSS and Atom Feeds with Python How to build a combined feed from multiple sources that you can publish for followers to subscribe.
- Dates and ColdFusion Query of Queries ColdFusion’s Query of Queries is very particular about the format of dates on both sides of the comparison.
- Don’t Hide Version Numbers It breaks user expectations with no real benefit, and makes it hard to tell if you’ve actually gotten the latest security fix.
- Empty AJAX Replies Working on ColdFusion But Not Lucee The default response type on Lucee is text/xml, and some front-end code will try to parse the empty response and throw an error.
- Groovy, null, and ‘null’ Sometimes you get a null value, and sometimes you get the word null. Make sure it checks the one you expect!
- How to get Grails to use a reserved word with Microsoft SQL You can use a custom database mapping from reserved to [reserved].
- Incremental Updates and the Problem of N+2 It’s one thing to provide an updater that goes from version N to version N+1. But what if someone doesn’t run the updater until N+2 is available? Or worse, N+3?
- Is the Xcode Updater Stuck? Watching install.log will show you whether the Xcode updater is still doing something or not.
- Java/Groovy Overloading and Null Parameters When you overload a Java method to accept different types of parameters, it can’t always determine which to call when one of the inputs is null. Here’s a hacky workaround.
- Java: Annotate Your Overrides Always use the Override annotation when you’re overriding a method, so the compiler will TELL you that you made a typo.
- Outlook Mangling HTML <pre> Tags It’s 2026, and Outlook is still mangling email. It’s collapsing whitespace and line breaks in HTML preformatted text, so you need to fake around it with non-breaking spaces and <br> tags.
- Reusable PHP Please, when developing your plugins, be sure to always use the full opening tag for PHP instead of just <?
- Separate Stop/Reload Buttons When a button changes in response to something over which you have no control, it may change between the time your brain tells your finger to click or tap and the time it registers.
- Split Up One Old Git Commit Into Several Yes, you can use git rebase to split a really old set of changes into several.
- Tell Me What Changed! When you release a new version of your software, tell me what’s new!
- Update Checks Should Be More Honest Software updaters have a bad habit of telling you they’re up-to-date before actually checking - and worse, telling you they’ve just confirmed it’s current when they actually couldn’t get an answer.
- Using the loop_end Hook With Multiple WordPress Loops I tried to add some custom navigation at the end of the posts lists using the loop_end hook, but it got added twice. Another plugin was running through the Loop and calling rewind_posts(). To make my code only run after the visible Loop, I picked a hook between the loops and checked did_action() for that hook.
- Variables vs. Autocorrect Avoid naming a variable one letter off from a real word. Autocorrect can really mess up your documentation or email.
- What Can You Build With the Google+ API So Far? (Obsolete) Google Plus has released the beginnings of its API for third-party apps. All you can do so far is read a user’s public activity. What can you do with that?
- What to Put In About Boxes What I want to see when I open the About box for your application
- WordPress Plugin: Combined Readme You can use a README.md instead of a readme.txt so the same file works for both the plugin directory and your git repository.
Blog Posts
- A Dynamite Approach
Working through a book on modding Minecraft with the kiddo. It knows its target audience: the first few lessons are all about explosions! It’s written for 1.8, which is a problem because a lot of the structure has changed between then and 1.12, but a decent IDE with auto complete and a sense of common […]
- LOLSpam Returns as a Super-Simple Mastodon Bot
Back when I was comparing social media archives, I considered resurrecting my old LOLspam project as a Mastodon bot. I never quite got around to it, partly because I was able to do most of what I wanted to automate using IFTTT, so I stopped investigating that last 5%. Last night, I threw together a […]
- To the Limit
Kiddo’s been wanting to learn programming, with the ultimate goal of modding Minecraft. We’ve done some Ruby, but he’s impatient, so last night I we started Java with a simple program that repeats a println X times. He wanted to pass it the integer limit. After a few minutes, I suggested we watch a movie […]
- Forgotten Edge
There’s nothing like finding an edge case, thinking “Oh no, I didn’t take that into account!”…then checking the code and realizing that you already did.
- Cacheback
You know you’re a programmer when you misspell “cash” as “cache.”
- Seanchan Programmers
A tech list is discussing EAGAIN errors, and I keep misreading it as EGEANIN.
- The Twitpocalypse Explained in Layman’s Terms
Here’s what’s going on, in layman’s terms.
- Improving Browser Reliability
The IEBlog recently posted about their efforts to improve reliability in Internet Explorer 8, particularly the idea of “loosely-coupled IE” (or LCIE). The short explanation is that each tab runs in its own process, so if a web page causes the browser to crash, only that tab crashes — not the whole thing. (It is […]
- Cleaning up Firefox’s Memory Usage
One of the biggest complaints about Firefox since 1.5 was released has been its high memory usage. Go to a forum anywhere and you’ll get people griping about “have they fixed the leak yet?” It is, of course, much more complicated than that. There are caches, fragmentation, places where memory is used inefficiently, bunches of […]
- A little scripting humor
After updating some links, the following dialogue occurred to me: Sallah: Indy, why does the web… move? Indiana: Give me the URL. (The location looks like a Python script) Indiana: Snakes. Why did it have to be snakes? Sallah. ASP. Very dangerous. You go first. (Actually, I have to credit Katie for the Python reference. […]
- Pixels as Magic Numbers
All the Linux desktop action these days is in KDE and GNOME, but on older hardware, servers, or anything else where you need to squeeze every last ounce of performance from the box, something lighter is needed. My Linux box at work — a 300 MHz Pentium II — runs WindowMaker. It’s familiar, it stays […]