Hosting changes

Things are a changin’ at Knot.

I’ve started the ball rolling at moving the server infrastructure to a web-hosting provider.
It looks to me like most/all of the functions we still depend on can be much more economically handled be an external hosting company. There’s the additional benefit that I’ll be less involved in routine maintenance and security. It should also cut costs by about 10x-12x.

WordPress instances and custom (sub-)domains should still be supported, along with e-mail and forwarding.

If anyone who uses our server or services is worried about the transition, please contact me and I’ll review your needs and try to address them.

Sierra, again.

OK, there are other things I meant to post, but I ran across the latest update on the Sierra language Kickstarter, and I really need to comment. First the update:

Update #1: Sierra to Objective C
Posted 5 days ago
I have decided that the project will first translate into Objective C
rather than having Sierra translating into C
so that software development for the iPhone and iPad can
be accelerated by 10X for each programmer and it will reduce bugs
by at least 50%.
So the funding for this project will focus on having Sierra translating
into Objective C.
Please everyone who currently codes in Objective C add your input
to the design of the Sierra language.
Blake

<rant>
Oh my fracking lord! I don’t even have words for this.

I think it’s basically programming 101 that any superset of C allows for the inclusion of C. Any C-preprocessor that generates C will perforce work with any superset of C. That’s the bit that anyone with a passing familiarity with C/C-front/C++/Obj-C/Turbo-C/Tiny-C/etc. would know.

But to compound the idiocy (and that’s what we have here), the idea that Obj-C programmers would be 10x faster because of SYNTAX improvement is absurd. The majority of ideas in Sierra don’t even really make sense in the context of Objective-C.

Additionally, Sierra doesn’t even begin to address any aspect of iOS programming. Objective-C might be the language, but all the heavy lifting (and therefore the bugs) stem from the iOS frameworks. Creating new/better frameworks might be a worthy goal, but is thisthe project, or the person to undertake that task? If someone came up with a DWIM-framwork, that might make us 10x faster, maybe. I’d be skeptical even then. Heck, most iOS/MacOS programmers would be more efficient if all the existing frameworks actually worked exactly as documented.

Finally, will someone tell this guy that declaring yourself associated with the iPhone/iPad does not automatically make your idea better? This needs to go away. Now.
</rant>

You can see my previous posts on Sierra: here and here.

Who knows Best?

I was thinking about what’s wrong with Sierra (see my previous post), and I realized that it mostly sounded like someone asked a CS100 student for a list of things they disliked about C. This immediately led me to consider if that’s ever a good idea. Should we ever ask users — especially novice users — about how to improve a product. While my initial reaction is, “definitely not”; my second reaction is more considered. There are times and places where the opinion of experienced users is deficient — they don’t expect anything but what their used to getting. But the danger with novices is that they make short-sighted decisions based on an incomplete understanding of the problem.

It’s moments like these that I ponder the recent success of Apple. Apparently, a couple of people (Jobs & Ive) guided them to the top of the gadget industry based on their insights. It appears to me, what you really need is the input of a few people with very good “taste”. Jobs had great taste in gadgets. Ives has great design taste. To design a new programming language, I’d want the input of people with great programming taste. I have ideas of who I’d ask among my friends, but I wouldn’t go on my tastes. I’m too ingrained in the C/Objective-C camp to be of any use to anyone in terms of new paradigms in programming.

My background and experience tell me that design by committee, or worse design by focus-group, does not produce great solutions. At best, “design by mob”, produces large and possibly diverse solutions. A quick look at most open-source projects/fork-fests shows the results of such efforts.

Any design effort requires two things: great insight and clear leadership. A sufficient amount of one can make up for a minor lack in the other, but eventually both need to be there.

Sierra programming language

I ran across the Sierra Programming Language yesterday on Kickstarter. First, I thought it was odd seeing an open source programming language looking for funding. Most of these projects seemed to move forwards pet projects for some programmer or another. The inventor makes some pretty bold claims (5x-6x faster programming). Then looking at it, a couple of things struck me (roughly in order of realization):

  • the inventor was initially trained in Pascal
  • he also has never seen C-front
  • why is it compiled on Google App Engine?
  • it’s case-sensitive *and* in-sensitive — because that’s easier?
  • it’s a mess — there are multiple semantic meanings to a given syntactic phrase.
  • this throws encapsulation out the window and calls it a feature
  • position matters [forehead smack], see Cobol for why this sucks
  • thinks variable aliasing is such a good idea — it’s a first-class concept

So, I now know why this project needs funding. The inventor is not a compiler person, and no self-respecting PL person would do this unless it was a job. There is a more fundamental problem at work here — the inventor thinks that the difficulty with programming is syntax. But that couldn’t be further from the truth. Some small percentage of people probably hate the rigidity of programming languages (which Sierra does little to address), it’s that most hate the lack of intelligence on the part of the computer. People want to express themselves ambiguously, and have the computer make intelligent decisions about what they really mean. Sierra thinks people want to write:

loop from 1 thru 100
write currentloop
end loop

when really they want to say is:

show all the numbers from 1 to a hundred

The first example is syntactic sugar, the second requires a system to make at least one intelligent decision (“numbers” really means “integers”), and possibly more (ie. what does “show” mean?).

Truth be told, even with significant AI involved, some people would have trouble programming. It’s just doesn’t seem to be in their nature. But even for those who have the inclination to program, Sierra doesn’t make many improvements over other languages that are already available. It mostly seems to be a mish-mash of some OK features with some known bad ones, all in the name of making C (!?!) easier.

No amount of syntax change is going to make programming faster, easier, or better, especially when it throws out features that make accessing using existing code easier (lexical scoping, independent compilation, etc). Amusingly enough, this project is apparently being written in Python — a language that is significantly nicer than the one being proposed.

Kim’s New Wristwatch

I’m a tiny bit of a wristwatch fan, and I have a couple of decent watches. This has made Kim a little unhappy, and not just because it’s one more thing I can collect (though that’s an issue too). It’s that there doesn’t seem to be much selection of “cool” watches for women.

By “cool”, Kim means self-winding watches, and particularly skeleton-ized watches with visible movements. She occasionally hunts for them on Amazon, but doesn’t find watches meeting her aesthetic (and financial) requirements. It took some doing, but I managed to find a (discontinued) watch that fit the bill (pictured above). After a lot of searching on eBay and paying really close to retail price, I snagged one used. Kim’s got her “cool” watch at last. That particular model is from Kenneth Cole, but I suspect it’s a version of a Chinese watch from Seagull.

During the search I came across a terrible site for those (like me) who love to shop for watches. If you have a hankering to kill some time staring at different ways to blow up a bank account, check out Watch Recon.

Boxer & Pro Pinball: Big Race

I’ve been getting some older games working again courtesy of Boxer. Boxer allows modern Macs to run games from the DOS era with a minimum of fuss. I happen to have a few programs left over from that era since some mac games included the DOS versions, and some I just bought for my (infrequent) DOS systems.

Mostly, I’ve moved over some adventure games from Legend Entertainment and Infocom, and the Pro Pinball series from Cunning Development. Timeshock and the Web both worked flawlessly, but Pro Pinball: Big Race USA needed a little tweaking. Specifically, the DOSBOX configuration needed to have the abstract volume name set and the amount of memory had to be raised. Here’s what the DOSBox Preferences.conf file looks like:


[cpu]
core=dynamic

[dosbox]
memsize=31

[autoexec]
ABSTRACT Pro_Pinball_3

the “Riot Act”

With all the evictions of the Occupy movement lately, I was thinking about the Riot Act. While I have occasionally been “read the Riot Act”, I had never actually read the Riot Act. To wit:

Our Sovereign Lord the King chargeth and commandeth all persons, being assembled, immediately to disperse themselves, and peaceably to depart to their habitations, or to their lawful business, upon the pains contained in the act made in the first year of King George, for preventing tumults and riotous assemblies. God Save the King!

(Courtesy of Wikipedia)

Microsoft: too greedy to get out of their own way.

So I just started up my Xbox 360 for the first time in 6 months to try out the new Metro UI and media features. First stop, the Netflix app. After downloading the app and starting it up, I get told I need an Xbox Live Gold account to use Netflix.

Now I have a free XBL Silver account which is free, but I don’t play enough multi-player games to justify $60/yr. for a Gold account. I do currently spend $8/mo. for Netflix streaming — now Microsoft wants me to pay for Gold access just to get at content I already pay for.

To be clear:
I paid for the Xbox 360.
I pay for Netflix.
I pay for my broadband connectivity.

So all I want is for Microsoft to let me use the app (that’s already on my Xbox) to use the things I’ve already paid for. For this they want $50 each and every year (subject to price increases).

Fail.

For the record you can buy a Roku as little as $50 (one-time purchase) and get more currently available apps.