|
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. |
|
FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white. As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green. |
|
|
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! |
|
| Monday, April 30, 2012 | |
|
Got most of the way there with this post on StackOverflow. Figured out the rest and tried to edit the answer to show what I'd learned. No dice. My edit was rejected. QQ I guess I'll just add another answer later. (Aside: Not sure I dig the edit police on stackoverflow. For some reason I figured the original author would be notified and allowed to choose, which makes more sense to me. I mean, I know that the edit isn't, "incorrect or an attempt to reply to or comment on the existing post", but I'm still unable to share what I learned to make things work with others. I don't care about the 2 points of rep for an edit; I want others (including myself) to be able to find the answer more quickly.) Anyhow, here's the info I'd need to redo what I did, put in a place where at least I can find it again easily... Here is an example of how this might look in a .gitconfig after those three calls. Alternatively, you can edit the .gitconfig directly.[merge] Then, making sure WinMerge's folder was in my box's PATH variable (go to the cmd line and check echo %PATH% to double-check), I inserted a file called wmDiff.sh into the WinMerge folder. #!/bin/sh Then I got my Git for Windows bash prompt, typed git mergetool after attempting a git merge branchName that had conflicts, and nothing happened. Because I'm an idiot. Close that window, since when it opened and read .gitconfig those lines weren't there, open a new Git bash window, and knock yourself out. Labels: git, noteToSelf, stackoverflow posted by ruffin at 4/30/2012 11:24:00 AM |
|
|
How can I see all my rejected edits? - Meta Stack Overflow: You can also use data to search for your suggestions that were rejected or approved. I have just created two queries for this: Who knew? You can query stackoverflow with SQL. Neat. Unfortunately I'm apparently going to have to start learning its schema if I want to find "edits not yet accepted or rejected", which is what I'm looking for right now. Labels: SQL, stackoverflow posted by ruffin at 4/30/2012 11:01:00 AM |
|
|
All you ever needed to know about Time Machine backups :
... Copy the appropriate command after the prompt, then press Return:They're not real backups. It's just a passtime for OS X and your startup drive. Why bother? posted by ruffin at 4/30/2012 10:05:00 AM |
|
| Friday, April 27, 2012 | |
using System;
posted by ruffin at 4/27/2012 12:06:00 PM |
|
|
I think I've "figured this out" before, but this is a better explanation (from the VIm Wikia): (EDIT: I think I'm wrong. I think the old way is better.) Converting the current fileEdit Labels: vim posted by ruffin at 4/27/2012 11:51:00 AM |
|
If you want to check out a local working branch based on origin/test you need to check it out with another source: git merge --abort Labels: git, noteToSelf posted by ruffin at 4/27/2012 10:42:00 AM |
|
|
C# Blog - Tips and Tricks: Add Syntax Highlighting Control: ICSharpCode.TextEditor There's a StackOverflow thread on this question, and the ICSharpCode lib, especially with the excellent sample project at the above link, seems the most portable (though its answer had no votes until I came along). Works well with simplest case tests. Labels: c# posted by ruffin at 4/27/2012 10:18:00 AM |
|
| Thursday, April 26, 2012 | |
|
Quick bit that threw me off in git initially: A merge doesn't merge you into something else. It merges something else into you. git merge crazyBranch ... takes in crazyBranch and puts it into whatever branch you're in now, which you can figure out with... git branch So if I'm in "myBranch" and I hit git merge crazyBranch, now anything in crazyBranch, assuming it doesn't conflict with what I've done, is sitting in myBranch. myBranch did not merge with crazyBranch. It's still wholly crazy. Capiche? Labels: git posted by ruffin at 4/26/2012 03:48:00 PM |
|
|
From IEEE Software "Best Practices" Column by Steve McConnell: Developers tend to be introverts. About three-quarters of developers are introverts compared to about one-third of the general population. Most developers get along with other people fine, but the realm of challenging social interactions is just not their strong suit. That was from May 1996. Wonder if it's still true. The strange thing is the way programmers tend not to "perform introversion" so much around other programmers. Then it's often your normal display of wolves playfully (and not so playfully) jockeying for alpha. And if reddit and imgur don't show you that geeks have a very advanced, um, style of humor, you're not trying hard enough. This manifests away from the keyboard too. ;^) Not sure how the author got those numbers, but I do think communication with folks that can't think as logically as programmers can (and unfortunately often programmers return the favor, and can only communicate in a sort of hyper-logical zero-sum fashion, approaching Sheldon or Spock, depending on your generation) be troubling. I'd argue programmers, as a whole, aren't as empathetic as the general population. You must see it not precisely their way, but what appears to them to be the [logical] way. The inability to have others catch their meaning as easily as, well, other programmers often can, probably reduces confidence and has programmers perform introvertedly. But that's like saying that you're introverted if you were dropped into a jail cell full of, well, sketchy folk and didn't talk to them like they're buddies. Avoiding painful situations isn't precisely introversion. The key is finding a translator. And hiring programmers who can blog, natch. (See what I did there?) posted by ruffin at 4/26/2012 09:09:00 AM |
|
| Wednesday, April 25, 2012 | |
|
I'm kinda tired of showing you what these say, so I'm just pasting the source. I think my email addy is the only thing personal about it, right? GREYLIST, DANGIT. I feel like applying for a job with Gmail just to drop in, set up greylisting, and getting out (if I need to). Seriously, guys, please? Awl, heck, here's the contents: Dear Valued Member, We have just detected that your account details requires verification. Please Follow the instruction in updating your account: http://accounts.google.com Sincerely, Verification Dept. The link to "accounts.google.com", of course, goes to http://exoticaquaticsnmore.com/wp-content/plugins/2.htm Guess it's compromised by some sort of trojan. I'm not looking. Now the source. Labels: gmail fail posted by ruffin at 4/25/2012 08:50:00 PM |
|
|
Comments on Why is estimating so hard? from Reddit can eventually lead you to a comment on another post titled, Engineering Management: Why are software development task estimations regularly off by a factor of 2-3?: Let's take a hike on the coast from San Francisco to Los Angeles to visit our friends in Newport Beach. I'll whip out my map and draw our route down the coast... Okay, well, that's why you hire someone who has walked that route before to estimate it. The problem is, of course, that it's surprisingly rare to find programmers who have walked the exact route that your customers want. And if they have and it's available, that's usually called off the shelf software. As beager so eloquently puts it, when it comes to OTS software (commercial, OSS, whatever): Ooh, the best part is, the wireframes have items that are SO PAINFULLY CLOSE to what plugins do, but are EVER SO SLIGHTLY different in a way that makes you have to roll your own. That, my friends, is often, unfortunately, an entirely new path, if only because you haven't hired the authors of the plugins. Perhaps more (less?) succinctly put: Engineers attempt to scope work by estimating the time all known substeps will take to address. Any other kind of scoping seems unprofessional, since you are basically making things up. Yet everyone agrees that there will be a number of potentially large unforeseen issues (the unknown unknowns). posted by ruffin at 4/25/2012 09:27:00 AM |
|
| Tuesday, April 24, 2012 | |
|
Code's not exactly a house remodeling project. You don't have to take a hammer to your old bathroom before you can make the new one. You can keep both buildings around as long as you want, and if you find you forgot to put a kitchen in the replacement, you can always route your users, within reason, back to the kitchen that's sitting around in the old house. The lesson? Never raze the old house until you're completely sure the new one is working. There's no great reason to destroy code that you're replacing. Cut off the calls to the code, but unless there's a really good reason, keep it around until you're done with your testing and roll out. You'll thank me later. Labels: code posted by ruffin at 4/24/2012 03:59:00 PM |
|
|
Ext.Msg.confirm -- their example almost works.: Ext.onReady(function(){Had to add .toLowerCase() and change Yes to yes, but otherwise a good note to self. Labels: ExtJS, noteToSelf posted by ruffin at 4/24/2012 10:32:00 AM |
|
|
My latest complaint. When I edited the post in BlogThis, those br tags with the close slash weren't there. I like the old style Blogger html edit where you were editing HTML directly *EXCEPT* for line breaks, which were inserted for each EOL. So if I hit return, a br was inserted. That's been very hit & miss with the new interface. And if you do insert br tags automatically, which I prefer but didn't expect here, I shouldn't be able to see them later, should I? What happens now? Will more br tags be inserted when I save for each EOL? If not, why not? etc etcI've got a number of blogs, and the spacing has been especially wonky in each of them as Blogger/Google keeps tinkering. This stinks. See how this paragraph is smushed up against the blockquote above? The preview said this wouldn't happen. This stinks. Beta level stuff, at best. Embarrassing for something with the backing of Google. I could write a blogger editor this crappy. posted by ruffin at 4/24/2012 09:39:00 AM |
|
|
Useful question asked:: However, my workflow is slightly different. FIRST I want to create a local branch. And I will only push it upstream when I'm satisfied and want to share my branch. Answer: Instead of explicitly specifying the server name, you can just use origin, which means "the server I got the rest of this repo from": thus git push origin I think that's the quickest route to getting what was asked done. Seems to work so far. I like git in theory. Still waiting for it to work intuitively. Labels: git posted by ruffin at 4/24/2012 09:34:00 AM |
|
| Monday, April 23, 2012 | |
|
Bug 380252 โ Mono.Data.SQLite crashes on call to SqliteDataAdapter.Fill(DataTable table) with simple SELECT: It might be useful to fix the DataTable Load & Fill methods so that You think? Man, what a pain. Apparently all the binaries for SQLite on OS X, including the preinstalled one, bork on when you call the function sqlite3_column_origin_name. Luckily that's only used for stuff like, well, loading freaking DataTables. So I have to recompile SQLite to get it to work and, if I release an app using it into the wild on OS X, have to get schomes to update theirs too, which is insane. What a pain. This is why I thought I'd probably end up using C#-SQLite anyhow. Then I can include a dll that's all in C# or even embed the db in the code of my project. But what a pain when that's the easiest solution. posted by ruffin at 4/23/2012 11:27:00 PM |
|
|
Yes, I'm about two decades late at a minimum writing this up.Finally created a bat file to back up my projects: Edit: Gosh, thanks for flattening all my pre tags, new BlogThis interface! Edit2: Ooops. Guess I wasn't backing up before 10am very often? Great solution to one-digit times in bat files from StackOverflow (well, ServerFault), inserted below in bold. Changes all spaces to zeroes, I believe. SET mydate=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2% SET mydate=%mydate: =0% echo %mydate% zip -r Z:\Documents\MyFiles%mydate%.zip C:\dir\to\Zip\up Labels: coding, noteToSelf, windows posted by ruffin at 4/23/2012 05:30:00 PM |
|
| Wednesday, April 18, 2012 | |
|
More interviews with Steve Jobs are popping up, somewhat surprisingly. I mean, Jobs would become a guy that seemed pretty pressed for time, but this interviewer? From AppleInsider: "Many [of the tapes] I had never replayed--a couple hadn't even been transcribed before now," Schlender wrote. Sure, these were mostly during the NeXT & Pixar years, but don't you have a duty to your interviewee to at least replay the tapes? Anyhow... Here's my favorite quote block so far: "In most businesses, the difference between average and good is at best 2 to 1, right? Like, if you go to New York and you get the best cab driver in the city, you might get there 30% faster than with an average taxicab driver. A 2 to 1 gain would be pretty big. This feels intuitively and experientially true, but why? Is it because great programmers have better ideas of how to get things done? Or is it that the code they write is more modular and easier to maintain and change over time? Or is it simply that good programmers can actually write things that work, even if the internals still break from perfect programming paradigms now and again? What exactly makes a great programmer's marginal utility over an average schmoe so much greater than a great taxi driver's? I'm not asking so that we can teach it or can it so much as know when we're looking at it. Basically, though, I think comes back to a phrase I saw Neal Stephenson's Zula think in REAMDE: "A's hire A's; B's hire C's." It doesn't take more than one bad programmer on a team to sink that magic multiplier, and bring 25 to 1 right back down to 1 to 1. Part of the magic Jobs saw might very well be the result of putting together a great team of great programmers, and that's where the gestalt really happens. posted by ruffin at 4/18/2012 07:54:00 AM |
|
| Tuesday, April 17, 2012 | |
|
Type initializer circular dependencies - Jon Skeet: Coding Blog: I have to say, part of me really doesn't like either the testing code or the workaround. Both smack of being clever, which is never a good thing. I surfed around Jon Skeet's Stackoverflow profile and ran into his blog, which I've got to say is really good. Especially enjoyed this recent comment on being clever. I enjoy being clever when the result is easy to understand and rock-solid, even when there's perhaps a bit of clever recursion used (which tends to degrade both the "rock-solidness" and easy understanding, admittedly), but here he's bang on -- too many developers we've all worked with like to do things that work for a particular piece of code, but the scalability (or even ability to undergo plain ole change) of the solution is almost nil. Code that's a cleverly constructed house of cards (Skeet uses "brittle") isn't good construction at all. And if there's one thing I've learned, it's that programmers are 21st century construction workers. (So too are actual construction workers, to be clear. It's simply that there's a new sort of construction.) In other news, Skeet accepted a very minor edit I made to one of his answers (re-inserting a link using archive.org to a site that'd disappeared, but was still obliquely mentioned, in his post). Yes, that's a reputation score of 66 to his 428,000+. Brush with greatness. ;^D I'll now stop talking about Skeet, but his coding knowledge is impressive. posted by ruffin at 4/17/2012 08:57:00 AM |
|
| Monday, April 16, 2012 | |
|
It worked. posted by ruffin at 4/16/2012 09:44:00 AM |
|
|
I stopped receiving emails, and this morning dug this up... Office 2011-update focust op Outlook, Lion | One More Thing: Rivanov op 13 april 2012 Which, as we all know (where "we" == "those with Chrome"), means...
I'd really hoped the update would fix some of the things I hate about Outlook 2011, but nope, not only does it not receive emails, it still doesn't play nicely with plain text. Seriously, who is writing this crap, and when can I join as an alpha tester? Now to find the easiest way to downgrade Outlook. posted by ruffin at 4/16/2012 09:10:00 AM |
|
| Friday, April 13, 2012 | |
|
Digital Web Magazine - Scope in JavaScript: Scope is one of the foundational aspects of the JavaScript language, and probably the one Iโve struggled with the most when building complex programs. I canโt count the number of times Iโve lost track of what the this keyword refers to after passing control around from function to function, and Iโve often found myself contorting my code in all sorts of confusing ways, trying to retain some semblance of sanity in my understanding of which variables were accessible where... OO Javascript is neat, but I agree completely; scope is a real pain. This link brought to you, well, via me, but to me via a post on Stackoverflow by superstar Jon Skeet. The man is good. Labels: javascript posted by ruffin at 4/13/2012 02:46:00 PM |
|
| Thursday, April 12, 2012 | |
|
(This could be an endlessly continuing list. The app really is rough. How many folks can be working on this? It's shareware quality as a mail handler. Does lots of stuff, but as a mail handler, not too good.) I really like plain text email. I like to send it and receive it. Outlook 2011's (Mac, natch) handling of plain text is horrendous. Very second class citizen. I'm going to cheat and paste the feedback I just sent in to save time. I'll pretend one of the three guys they have on the mail client will listen. Hopefully so... Three items:In other news, if you add a file called userContent.css to ~/Library/Application Support/Camino/chrome and paste in the following, you get monospaced display of mail in Gmail online (in Camino, duh). Looks like it only does plain text emails in monospace, so that's a win. div.ii.gt {
font-family: monospace;
font-size: 90%;
}Labels: outlook fail posted by ruffin at 4/12/2012 09:43:00 AM |
|
| Wednesday, April 11, 2012 | |
|
If your ExtJS TabPanel doesn't have scrolling arrows (and you do have enableTabScroll set to true), it could be because your chosen layout isn't "a fitting layout'. Jack Slocum says: The issue with the code is a TableLayout is not a "fitting" layout. It provides no dimensions to underlying components. Your TabPanel has no width defined, and no layout that provides a width, and so it can't calculate the scroll sizes correctly. Can't quite figure out what happened to Jack and ExtJS, but I sure appreciate his answers more than most of the other guys. They're well-written and to the point, and only happen when he feels like actually answering a question. That's a relative rarity on the ExtJS boards. That is, if he posts, it's going to tell you what you haven't learned yet, not tell you to read the fantastic manual or, more common in ExtJS land, the library's source code. I slapped width:500 in mine, and *poof*, profit. Lots of wacky stuff in TabPanel, at least back in 2.x. If you have an id with two underscores in a row, that's apparently going to bork their id parser (which figures out tab relationships), for instance, which I found out the hard way. The way layout managers break (as with the above) with my Java-born expectations is also a pain. Labels: ExtJS posted by ruffin at 4/11/2012 01:26:00 PM |
|
| Tuesday, April 10, 2012 | |
|
d3.js: D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. As a trivial example, you can use D3 to generate a basic HTML table from an array of numbers. Or, use the same data to create an interactive SVG bar chart with smooth transitions and interaction. posted by ruffin at 4/10/2012 04:47:00 PM |
|
| Friday, April 06, 2012 | |
|
In case you'd missed it, like I had. Sun Microsystems - Wikipedia, the free encyclopedia: In February 2011 Sun's former Menlo Park, California campus of about 1,000,000 square feet (93,000 m2) was sold, and it was announced that it would become headquarters for Facebook.If that isn't a sign of the times, I'm not sure what is. Pretty cool looking campus too. posted by ruffin at 4/06/2012 01:42:00 PM |
|
| Wednesday, April 04, 2012 | |
|
A pretty good, step by step guide is here. Keys: 1.) Get information from your tnsnames.ora file. 2.) oracle12.jar can be found here, though you might want ojdbc14.jar, also on that page. Here, we can find some important things. Match your tnsnames.ora file and note the following details like me: Labels: oracle posted by ruffin at 4/04/2012 09:28:00 AM |
|
| Sunday, April 01, 2012 | |
|
For some reason, I had a hard time tracking down MailPriority using OpenPop.NET. It's not part of the OpenPop package, and is, instead, part of System.Net.Mail. using System;/sigh It's a little incestuously scoped, as if System.Net.Mail were to strangely disappear or move, you're toast in OpenPop, but that's more my neurosis than a huge failing for OpenPop. But even a trivial mapping (which, yes, I can do myself) would remove the need to use using System.Net.Mail everywhere I want to use MailPriority. posted by ruffin at 4/01/2012 12:44:00 PM |
|
|
| |
|
|
All posts can be accessed here: Just the last year o' posts: |
|||||||||||||||||||||
|
||||||||||||||||||||||
|
|
|
|