Programming Articles
- 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.
- 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.
- 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.