Categories
Programming

Oracle Releases Java for Mac

> Oracle announced on Tuesday that it will start offering direct downloads and auto-updates to Java on OS X beginning with the release of Java Standard Edition 7 Update 6.

I used to spend my days working away at Java development. Very rarely did I run into an issue where the Apple version of Java caused me trouble. Still, the amount of time between updates was always concerning. Hopefully this release makes things easier for Java developers everywhere.

Categories
Programming Software

Brown University Opening an Upper Level Computer Science Course to the Public

> We will be making this course, Brown’s upper-level programming languages offering, available for free on the Web. People anywhere are welcome to view the lectures, read the materials, and do the assignments.

> The on-line version does not offer credit from Brown; but those who successfully complete it can get recognition of this directly from the instructor. In particular, because we anticipate some people following the course will be busy professionals, we will offer three levels of recognition:

I am really tempted to do this. I probably do not have time to pull it off, but I am really tempted.

(via [Michael Tsai](http://mjtsai.com/blog/2012/08/13/brown-csci-1730/))

Categories
Programming

Dr. Seuss on the Halting Problem

A classic.

Categories
Programming Software Technology

Dr. Drang on Getting URLs from Safari

He shares a Textexpander Applescript snippet that gets the URL of the front-most open tab:

tell application “Safari” to get the URL of the front document

Genius. He [has a github repository of this and similar snippets](https://github.com/drdrang/te-url-snippets/) as well.

Categories
Internet Programming

Scheduling Posts in WordPress

When I was more active on [my photography site](http://johnkivus.com), I would normally queue up batches of photos to be posted. For example, I might spend 3-4 hours getting together 6-7 posts that would be rolled out over the upcoming few weeks. I could then use WordPress’ built in scheduling features to decide when those posts would roll out. I have noticed recently, however, that the scheduling of posts on this site seems not to be working. Instead of my post actually publishing when the scheduled time arrived, I was simply getting a “Missed Schedule” marking next to the post. I solved this issue with a two tiered solution:

## Cron Job to Call the Website

Though I get decent traffic on the site, visitors normally come in bunches. I, therefore, cannot reliably estimate what times someone will hit the site and fire off the publish functionality. To help remove some of the uncertainty associated with this, I created a very basic cron job[^cron] that simply calls the website every 5 minutes:

*/5 * * * * /[path]/[script].sh

where [path] is some location for your script, and [script.sh] contains simply[^ex]

#!/bin/bash
curl https://johnkiv.us

Unfortunately, I would still run into some “Missed Schedule” errors, depending on when I would set my posts to publish.

## WP Plugin

In order to fix those posts that were sent to the purgatory of “Missed Schedule” status, I added the [WP Missed Schedule](http://wordpress.org/extend/plugins/wp-missed-schedule/) plugin to my installation. This plugin works as advertised. It “fixes” those posts that were in the “Missed Schedule” status and publishes them.

## Summary

Using the above two steps, I have once again been able to schedule posts for certain times. As you can probably tell from my explanation of the process, it does **not** guarantee that your post will go out at the exact time that you specified. Instead. it ends up setting a window within which the post might go out[^length]. For what I’m doing currently, that’s more than okay. If, however, you want to be more precise with when your posts go up, you might want to look for a different alternative[^thinking].

[^length]: Since the cron job runs every 5 minutes, and the “fix” of mixed posts plugin runs every 5 minutes, the longest you should have to wait for a post to publish after your publish time 10 minutes.

[^thinking]: One possible idea might be to set specific daily times you want to post. You could set various posts to publish at those times and then you could set you cron job to run at those times. For anything dealing with an embargo or some other time of confidentiality agreement, I would definitely recommend doing the post manually at the correct time.

[^ex]: It, of course, has to be marked executable, etc…

[^cron]: If you’re unfamiliar with cron, some decent resources are available at [unixgeeks.org](http://www.unixgeeks.org/security/newbie/unix/cron-1.html), [thegeekstuff.com](http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/), and [help.unbuntu.com](https://help.ubuntu.com/community/CronHowto)

Categories
Programming

4 Tips for Learning to Program

A classic post from the 37 Signals archives.

Categories
Programming

Theories on How to Make Money in the Mac App Store

> I think the answers are becoming clear that if you want to make reasonable money through the MAS you have to offer some sort of subscription. Barring something that will make the non-MAS more prominent I think you also have to split your application in two, have some sort of sync service and add your non-MAS functionality to the external application. That’s going to be hard to navigate. It’ll be interesting to see if folks manage it.

The theory makes sense, though I hope that is not what the App Store becomes[^ff].

[^ff]: The article also recommends listening to [this episode of the Edge Cases podcast](http://www.edgecasesshow.com/011-pop-software.html). I’ve pumped up it in my listening queue as a result.

Categories
Internet Programming

MacDrifter on Text Editors

[Gabe from MacDrifter]() lists a number of good resources for both BBEdit and Sublime Text.

I moved from TextMate to BBEdit when I upgraded my Macbook and was learning Ruby. Some of these links would have been helpful during that.

Categories
Programming

The New Programming Jargon

Sound like a programmer.

Categories
Internet Programming

10 CSS Rules Every Designer Should Know

A good refresher for most web programmers. I’m a little embarrassed to admit that I did not know them all.

(via [The Loop](http://www.loopinsight.com/2012/07/23/10-css-rules-web-designers-should-know/))

Categories
Internet Programming

Macro Arment Expands on Talent Acquistions

The closing paragraph of Macro Arment’s [talent acquisition post](http://www.marco.org/2012/07/20/talent-acquisitions) yesterday was widely quoted:

> If you want to keep the software and services around that you enjoy, do what you can to make their businesses successful enough that it’s more attractive to keep running them than to be hired by a big tech company.

His follow-up piece today ends just as strong:

> It’s frustrating when a product or service you like goes out of business, and that’s effectively what happened here. Sparrow tried to succeed in an extremely difficult market, and apparently failed. Their customers supported their efforts up to this point, but there probably weren’t enough customers for them to refuse Google’s offer.

> Don’t blame Sparrow. Blame the terrible market for email clients.

As you can probably guess, the whole thing is worth a read.

Categories
Internet Programming

Brett Terpstra Day

Celebrate the birthday of someone who truly makes the internet better.

See also [Dr. Drang](http://www.leancrew.com/all-this/2012/07/brett-terpstra-day/), [MacDrifter](http://www.macdrifter.com/2012/07/terpstra-day/), [Practically Efficient](http://feedproxy.google.com/~r/PracticallyEfficient/~3/S15gHJ6FnZE/), [MacStories](http://feedproxy.google.com/~r/macstories/ad-supported/~3/Wu0ihzI_9ts/) and [Brett’s New Podcast](http://5by5.tv/systematic).

Categories
Programming

New Home at Linode

I have been looking for a way to do some programming-related things, particularly some Ruby development. In order to freshen up my skills on various tools, command line techniques, etc… I decided it was time to move my website to a host that I had more control over. If this post is visibile, it means I’ve completed my move over to [Linode](http://www.linode.com/?r=0a0ee6d9705b4ea2ace5f56965fd14bde1b69828)[^ref].

[^ref]: Referral Link

Categories
Programming

Why the User Experience on Enterprise Software Isn’t All that Awesome

Really great presentation by Sean Rankin. I particularly like his point that:

> The buyer & the user are not the same person.

Everything else stems from that.