Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Subversion on 1&1, redux.

Looks like someone used my post on building svn on 1&1 hosting.

I am such an AUTHORITY.

I just wish I could figure out how to build 1.8 without running out of memory. Andy has some hints for 1.6. Fails for me. Well, 1.4 seems to still work enough to update WordPress. Good.

Wordbooker is dead

Wordbooker is a WordPress plugin to post to Blog and Facebook at the same time? Saves time.

Steve the author decided it wasn’t worth it — free support and complaining jerks. Bummer. When it worked it saved time. I guess that’s what happens when you don’t pay for software.

Requiescat in pace.

New Windows desktop computer with full C drive? Check OS hibernate settings.

On my new work desktop computer with Windows 7, I noticed a 30Gb file hiberfil.sys filling drive C. Since I don’t use the hibernate function, I can disable it.

From a command shell as Administrator
G:\> PowerCfg.exe -H off

The file disappears.

lineman-angular updated to ng-annotate

We use LinemanJS to automate the build process of various AngularJS projects. Two newer projects use the most excellent UI-router package, and I had some issues. The resolve section required manual protection for minification; ngmin, the automatic minify protector included with lineman-angular, did not handle resolves correctly. So this code:

resolve: {
     liveConfig: function(ServerConfigService) {
       return ServerConfigService.fetchFutureConfig();
     },
     liveLocations: [ "PickSchoolService", function(PickSchoolService) {
        return PickSchoolService.fetchSchools();
     }]}

would not work, as the minifier would convert the ServerConfigService object to, say, a, and that would obviously not match the injected service. Blam.

 liveConfig: function(a) {  // what the heck is a??
      return a.fetchFutureConfig();

There has been a feature request outstanding on this for a while, So yesterday on a longer car ride, I finally got ng-annotate to work on my local project. I was all ready to grab the source for lineman-angular and submit a PR, and found davemo beat me to it:

davemo authored replaces ngmin with ng-annotate 2386ab76016b485a03dfbf684c4639e9235f8a4d

updated my local package.json to 0.3.0 and lineman build. Nice. Now I can rip out all that icky brackety stuff.

Now to make sure – I found that chaining

angular.module("app", ["ui.router", "mm.foundation", "ngStorage"])

.run(function ($rootScope) {
///
})
.run(function($log, $state, $localStorage, $timeout) {
///
})
.run(function ($rootScope, $state, $log, PickSchoolService) {
///
})
.config(['$logProvider', function ($logProvider) {
///
}])
.config(['$httpProvider', function ($httpProvider) {
///
}]);

also had issues in minification. I had to break some files up with the explicit module statement for it to work.

angular.module("app")  // require redeclaring for ng-min support
    .config(function($httpProvider) {
    ///
    });

angular.module("app")  // require redeclaring for ng-min support
    .run(function ($rootScope) {
    ////
    });

I mashed them back together. Seems to work great now. Nice work, all.

Wise counsel, indeed

“If you are going to eat shi*, don’t nibble,” he says, in a phrase that should be immortalised in corporate finance textbooks.

Quoted from a Horowitz financial controller, from the review of The Hard Thing About Hard Things by Ben Horowitz, venture capitalist, in The Economist, 15 March 2014.

 

17 pounds and 4 inches of Carbon Neutral

Bing bong! Who is that disturbing my workout? After opening the door, I hear the UPS getaway truck speeding into the distance. Look down. See the shrink wrapped pile.

8 catalogs. 17 pounds. 4 inches thick – at least two Sears Catalogs thick from the good ol’ days.

And the phrase below the barcode: UPS CARBON NEUTRAL SHIPMENT.

The shipment may be carbon neutral. I don’t see how 17 pounds of glossy paper is anything but a ridiculous waste.

Unsubscribe.

Morning Phase

After listening to Beck’s Morning Phase on Rhapsody non-stop for the last few days, I have to say: best album of 2014.

Now make it stop.

Intellij IDEA SCSS File Watcher

I use IntelliJ IDEA on a Centos VM for AngularJS development at work, and I have a FileWatcher configured to compile the SCSS files from the designer into CSS when they change. It stopped working one day.

After days of bad behaviour because I did not have the correct CSS, I compared configs. Mine looked like (from the exported file):

<option name="arguments" value="compile $ModuleFileDir$/src/main/webapp/ui/src" />
<option name="checkSyntaxErrors" value="true" />
<option name="description" value="Compiles .scss files into .css files" />
<option name="exitCodeBehavior" value="ERROR" />
<option name="fileExtension" value="scss" />
<option name="immediateSync" value="false" />
<option name="name" value="SCSS" />
<option name="output" value="$ModuleFileDir$/src/main/webapp/ui/src" />
<option name="outputFromStdout" value="false" />
<option name="passParentEnvs" value="true" />
<option name="program" value="/usr/bin/compass" />
<option name="scopeName" value="Project Files" />
<option name="trackOnlyRoot" value="false" />
<option name="workingDir" value="$ModuleFileDir$/src/main/webapp/ui" />

Hers, as it turns out, did not check for syntax errors:

<option name="checkSyntaxErrors" value="false" />

And as it turns out, the designer just started delivering SCSS files with errors last week. So mine never got compiled. Fixed. Duh.

Yet another Airlink 101 DD-WRT adventure

Client needs a cheap Wi-Fi and router. Fast trip to eBay and for $5 plus $6 shipping, I get an Airlink101 AR690w with Wireless-N. Three antennas. Looks good.

AR690w is on the supported list, with an older version and a new version. I tried the current release, and the uploader for the stock firmware was not happy. So I uploaded the factory firmware upgrade, buried on the first page, to start it off.

Bam! DD-WRT is on the air. But I cannot connect via the router Ethernet ports. I connect via Wi-Fi, the console is up, but there is no way to enable the wired ports.

Some quick reading in the DD-WRT forum on Airlink AR690w BS 14473 switch not working. Turns out the firmware listed as working does not work. Some dude Brainslayer figured it out, and created new firmwares for the device. So why is it on the working download page? Dunno.

So after registering with DD-WRT forum, I was able to download the Brainslayer stock firmwares. Tried the factory. Nope. Tried the other one. Nope. No connect, no Wi-Fi. Brick? The router puts up an emergency upload page for new firmwares. Nice.

Found Airlink AR690w Brainslayer switch not working. Some more tries. Then in another post, I was able to download the stock firmware. Reflashed, and it came up singing!

Now try the factory Brainslayer version.  Success!

I might keep this one and give the client the AR430W. With DD-WRT of course.

Why doesn’t my #!@$#$%@ console show my variables?

Given: Google Chrome, Dev Tools open, Console open. Paused at breakpoint.

$scope.currentDb
$scope.currentDb
$scope.currentDbb
$scope.currentDb
Date.now()

Nothing prints. Why?

Give me a few hours.

Finally, consider the log level selector bottom right of the console panel. Note the current selection is “Debug”. Click the “All” button.

$scope.currentDbb
undefined  (should be)
$scope.currentDb
WebSource {dbName: "name", dbIcon: "name.gif", hasMoreResults: undefined, dbTotalHitCount: "500", dbID: "id"…}
Date.now()
1390414361482

Sigh.