|
title: Put the knife down and take a green herb, dude. |
descrip: One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com Using 89% of the same design the blog had in 2001. |
|
x
MarkUpDown is the best Markdown editor for professionals on Windows 10. It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support. Features you won't find anywhere else include...
You've wasted more than $15 of your time looking for a great Markdown editor. Stop looking. MarkUpDown is the app you're looking for. Learn more or head over to the 'Store now! |
|
| Wednesday, November 26, 2014 | |
|
So we all know how to run JSLint from Node, but what if you want to use Firebug or something to step through? The version Crockford uses on jslint.com is minimized and includes a lot of overhead you don't need to run locally (http://jslint.com/webjslint.js). It's obviously not that difficult to set up. Here's the easy version. I'm not sure how well the formatting will keep with this email-to-blog post, but hopefully I'll eventually remember to return and clean it up. So save the below into index.html and knock yourself out. No jQuery or nuttin required. Gosh, I hope this post works. HTML always worries me with Blogger. It's anyone's guess how it'll parse it this week. <html>
<head>
<script src="jslint.js"></script>
<script>
function jslintalizeMe()
{
var i, divOut, errs, errsMsg = "";
divOut = document.getElementById("errors");
divOut.innerHTML = "";
if (!JSLINT(document.forms[0].elements[0].value))
{
errs = JSLINT.errors;
for (i=0; i < errs.length; i++)
{
err = errs[i];
if (null !== err)
{
if (undefined !== err.id)
{
errsMsg += "Error: "
+ err.code
+ " -- line "
+ err.line
+ " char "
+ err.character + "<br />"
+ " "
+ err.evidence + "<br />"
+ " " +
err.reason + "<br /><br />\n";
}
else
{
errsMsg += err.reason;
}
}
}
divOut.innerHTML = errsMsg;
}
}
</script>
</head>
<body>
<form>
<textarea rows="24" cols="80"
placeholder="// Paste quality code here"></textarea>
<br />
<button onclick="jslintalizeMe();return false;">JSLint</button>
</form>
<div id="errors"></div>
</body>
</html>
Look, that's ugly, I get it. But it's the easiest way to get JSLint running in a good, easily Firebuggable fashion. Enjoy. ;^)Labels: javascript, JSLint posted by ruffin at 11/26/2014 10:52:00 AM |
|
| 0 comments | |
| Wednesday, November 19, 2014 | |
|
Listened to Justin Williams on Release Notes (http://releasenotes.tv/) talking about why he closed up Glassboard, and it was interesting enough I started looking at his blog, Carpe Aqua. Found a link to Ariel Michaeli (though the href was busted and you had to hack a trivial amount), who linked to Mark Suster, who said... [Your investors] are not rooting for you to fail – please don't misunderstand me on that. They would prefer you always move up-and-to-the-right. I'm just saying that great progress with no revenue and you needing more money isn't always at odds with a VC's interest. Sorry to give away the game. So that's clever. Having finally worked in a startup for about two years, that quote sounds awfully accurate. The point of Suster's piece is to slow down the bleeding, and, in a sort of Moneyball-ian "don't get outs" fashion, suggests that you need to keep your company alive, because it's in being alive that allows it to find good fits. The slower you burn money, the more chances you have to find your fit. Actually, that's *exactly* the Billy Beane Moneyball angle. Playing defense and being fast is great, but what matters is runs. And what makes runs is continuing an inning. And what continues an inning is not getting outs. That's what you organize your team around. Here, Suster's idea is to keep the inning going by making, well, income, duh. The more you depend on outside investment to create "runway", the more of your company's soul you're going to have to sell. As long as the growth can be turned into profit -- the way so many assume Amazon can at any moment, just at a much larger scale than your startup -- they're happy to keep banking what was your equity until you (plural, this time) flip the switch. If you'd balance growth with income, you stopping hitting into triple plays. (Here's where the metaphor breaks down, of course. There's no way to sell part of your team to get more innings in baseball...) Money is an interesting tool, and incentivizes fascinating behaviors, not all of which are exceptionally admirable. Labels: business, hats of money posted by ruffin at 11/19/2014 12:28:00 PM |
|
| 0 comments | |
| Monday, November 17, 2014 | |
|
From GitHub Enterprise Pricing: Estimate your plan: I'm not sure I understand the appeal of "GitHub Enterprise". Rather, I'm not sure that those who are considering some "enterprise" flavor of git get git. I mean, the biggest selling point of git is that it's essentially solved the issue of distributed development. There's no reason to pay for phat, centralized management. If you have some strange cesspool of three developers who go off on their own for a year and then check all their stuff back in, git will handle it. You might have to diff conflicts forever and a day, but as wacky a checkin structure as you have is fine by git. If you have thousands of folks checking into the same branch beyond nightly integration, well, you're doing it wrong. Any worst case of forked development isn't a technical issue, it's simply a reintegration headache, regardless of the power of your repo "server". I mean, you can put git repos everywhere. You don't need one repo to rule them all. It's like a starfish that loses an arm (and *poof*, you've got two Patricks). Everyone's up-to-date workstation has the potential to rebuild your codebase's history in its entirety. Why do you need "maintenance, upgrades, and technical support", at least on the code management side? Has anyone ever really had unrecoverable trouble when they collaborated over a network drive? Has any team who checked in daily really ever lost significant amounts of code due to git's infrastructure? Gosh, I can't imagine so. If you've got it three or more places, you already have a "living RAID". Obviously what they're selling is the active directory integration, bug tracking, and perhaps some code review overhead, but if you get your coders used to using git, I swear code management is self-regulating. Budget accordingly. ;^) Labels: git, github, hats of money posted by ruffin at 11/17/2014 01:06:00 PM |
|
| 0 comments | |
| Sunday, November 16, 2014 | |
|
I've had my ThinkPad T430 for just over a year and a half now, and I'm to the point that I can't use another laptop without reaching for this danged button a few times an hour. I'm not absolutely sure why I find it so useful -- I think I mainly use it when I'm honestly "laptopping", that is, when it's in my lap. It takes a lot less real estate to use it than the trackpad. But I suppose it's also more efficiently for small mouse adjustments, or, I've noticed, particularly when my "trackpad hand" (right) is "returning" and I want to move the cursor to the right. Strange the habits I pick up.
In any event, I didn't think I'd use it at all when I bought the laptop, and hoped it wouldn't be a nuisance. Now, I guess I'm addicted.
Image via wikipedia: http://en.wikipedia.org/wiki/Pointing_stick#mediaviewer/File:Mouse_pointing_stick.jpeg
posted by ruffin at 11/16/2014 12:47:00 PM |
|
| 0 comments | |
| Friday, November 14, 2014 | |
|
<# .SYNOPSIS Say something quickly. .DESCRIPTION .PARAMETER myParam1 .EXAMPLE .LINK Labels: noteToSelf, powershell posted by ruffin at 11/14/2014 02:38:00 PM |
|
| 0 comments | |
| Thursday, November 13, 2014 | |
|
I admit it. I use SeaMonkey Composer, a tool whose look and feel is straight from the late 90s, to create specific kinds of webpages. Now look, it's almost always webpages where I'm keeping notes for myself to read later, not webpages to publish anywhere (though I guess I did use it to create the skeleton for my syllabi when I was teaching during grad school). And I use html because I know, better than any other file format, how to make it do what I want without much hassle. That is, it's easier for me to format a web page than it is to do the same thing in, say, Word. Given my work experience, not only does that make sense, you've kinda got to hope html familiarity would be the case. Anyhow, what I've always liked about Composer most is that it gives you nice, clean, unoffensive html -- for the most part[1] -- and does so a bit better than Blue Griffon, which grew out of its codebase. (NVu wasn't bad, but it and Kompozer didn't last long at all.) You can easily take the "frame" html Composer gives you and give it a little custom markup to have a clear, well-formatted page. And it's not destructive when you type something into the source itself, which is wonderful. You can do that on the source pane or, even better, highlight a WYSIWYG chunk, hit alt-I-H, and knock yourself out. But recently (?), I've noticed that it really, really dislikes understanding code as monolithicly (sp?) formatted blocks, and wants to apply tags in a much too atomic fashion. Here's an example where I Ctrl-T'd a block of text that I wanted to display in a monospace font: <tt>The following example can be used to assign the “MyTag” tag to all virtual machines whose name contains</tt><tt><br></tt><tt>the “myvm” wildcard pattern.</tt><tt><br></tt> Really, Composer? You have separate <tt> tags not only for each line of text, but for each line break? Are you crazy insane? Really wish it'd be a bit smarter about blocking text. Too bad it's not written in C#; I'm not sure I'm ready to learn C and this codebase just to patch a SeaMonkey Composer bug. ;^) [1] Clean html except for that stupid line insertion bug (first reported in 2001? Can that be right?), but that's another story for another day. Labels: seamonkey posted by ruffin at 11/13/2014 09:38:00 AM |
|
| 0 comments | |
| Sunday, November 09, 2014 | |
|
EDIT: I missed a big difference that I'll hopefully update in a bit -- The microphone has moved as well! So you have to drill a hole for the mic in the bottom of the case or folks will think you're talking from behind a wall. Oops. The HTC 8XT is essentially an HTC 8X (AT&T, Verizon, T-Mobile) changed just enough to work on Sprint's network (and, in my case, Ting's). So I figured I'd grab a Speck case for the 8X, apparently the much more popular model, while they were on sale to use on my 8XT. Whoa. Not so fast, my friend. It turns out there are three distinct ways that the 8XT is physically different from the 8X, and two of those are pretty important when trying to use an 8XT with the 8X case.
The Speck case for the 8X fits perfectly on the 8XT otherwise.[1] The power, camera, and volume buttons align exactly. But the charging port is inaccessible, which is, obviously, an absolute dealbreaker -- especially for me, as I managed to crack my phone's face in the Great Desk Drop of 2014, and it shatters a little more with each insertion/extraction from the case. I'm not, and I can't see anyone, removing and replacing this into the case with each charge. It was easy enough to "fix" the USB port issue with a Dremel, though the modification is perhaps not as clean looking as some might prefer for their case. He's what my amateur Dremeling got me: Note, however, that I've left the flash obstructed. I guess I could Dremel that (poorly) as well, but I rarely use flash photography; too stark a look, and I'm often in places that don't allow flashes when I'm using it. I don't think the hole for the speaker is a big deal; it just looks a little funny. [1] Okay, not quite perfectly. I'm getting some pull-away on the top corner of mine. I'm finding it hard to believe that the 8XT is dimensionally different, though, and wonder if this would've happened if I was on an 8X too. Labels: Randmo, windows phone posted by ruffin at 11/09/2014 01:56:00 PM |
|
| 0 comments | |
|
|
All posts can be accessed here: Just the last year o' posts: |
|||||||||||||||||||||
|
||||||||||||||||||||||
|
|
|
|