Forgot your password?
typodupeerror
User Journal

Journal: Serious proposals to replace obamacare begin 49

Journal by Qzukk

The WSJ has floated an opinion piece offering what it calls a conservative alternative to Obamacare, that I think is the first time I've seen any conservative alternative except "Nuh-Uh!" Google news popped it up with a link to http://stream.wsj.com/story/latest-headlines/SS-2-63399/SS-2-381425/ which seems to be some sort of glorified rss feed with an HTML skin, so I have no idea if the link will be good for anyone else in the future.

It is, in my opinion, a beginning. In the past, I've called obamacare the wrong answer to the wrong question. This article suggests extending the current employer tax writeoff so that everyone, not just the employers, can buy insurance with tax-free money. Then it goes a step further by means-testing a tax credit for the poor so they can buy privately operated insurance with their tax credit instead of getting Medicaid. I think this is a good start to answering the question of how to make it possible for everyone to get at least minimal health insurance (if they want it. This is the conservative version, remember).

It is still the wrong question, though.

User Journal

Journal: 2.8 seconds of hate - bash-completion 1

Journal by Qzukk

In an effort to be fancy and helpful, bash now has context aware tab completion (in the bash-completion package on Debian). Based on where you are and what command you're typing, pressing tab will Do (what the completion script writer thought was) The Right Thing.

Unless what you think is the right thing was was the behavior of older versions of bash where you could do

**/*.c<Tab><Tab>

and (eventually, ** is damn slow) get a list of all of the matching files. It also worked with [...] {...} ? or any of the other bash wildcards. You know, just in case you wanted to see what your command is going to do before you hit enter.

Now I have to ^U, ls ^Y, then ^Y, which takes about 2.8 seconds (including the realization that bash is just going to keep beeping at me if I keep hitting tab). Or disable fancy and helpful completion with complete -r

User Journal

Journal: Two minutes of WTF 1

Journal by Qzukk

So I right clicked in an explorer window in windows 7 and went to "New >" on the menu and the submenu didn't open. I clicked it a few more times and nothing happened. I clicked it a few more times and the entire explorer shell crashed and restarted.

Wish I knew why the hell it sometimes takes 30+ seconds to get to "New Word Document" on my work computer.

User Journal

Journal: 2 mins of hate: What can make me switch to a new RCS again 1

Journal by Qzukk

Three words: Four. Way. Diff.

Show me where my patch (before and after) conflicted with the last patch (via blame) before and after. Bonus points if you can show both complete commit messages. Extra bonus points if you look at the branch, figure out where it went wrong (at what point did my patch last apply cleanly?) and show me all the commits since.

Telling me shit's fucked up doesn't help anyone (that's what I got with cvs).

Telling me what I was trying to do tells me what I was trying to do, not what Bob was doing when he checked in before me, but at least I know what the hell I was doing when I did it months/years ago (this is where I am now with git rebase).

Telling me what the hell I was trying to do and what the hell Bob was trying to do, now that's what I need, because now I know what it's supposed to be doing when I'm done merging the code and can do so with a reasonable degree of confidence that both Bob and I will be happy with the result.

For my company's workflow, this would be the holy grail of revision control. I'd even be tempted to use a graphical tool to do it.

User Journal

Journal: Today's two minutes of hate

Journal by Qzukk

git, a love/hate relationship. Right now, hating really really hard.

You can do all sorts of incredible things with it, but there's so much that seems obvious I ought to be able to do, but just can't see how.

Case in point: git rebase. This is an incredibly powerful tool that lets you take changes and apply them to a different branch, one at a time very rapidly (if there are no conflicts). If a conflict arises, the process pauses, tells you where it died, lets you fix it, then you git rebase --continue. EXCEPT you get half of the first line of the commit message (despite being on a 128 column terminal it cuts off at 80) and no hash or any other way (I can find) to look up the complete description of the current commit being fixed (other than aborting the whole thing, going through the complete log to find the commit starting with whatever message then starting again (rerere makes this not painful, just annoying)). Oh, and if you used a branch name, that branch name is MOVED to the new location.

Other case in point: git merge. This is an incredibly powerful tool that throws everything together all at once and lets you deal with the aftermath. Conflicts, conflicts everywhere and no explanation of what the code is supposed to be doing. Fortunately, someone made a git-merge-like-rebase script that creates a temporary branch, rebases it to the target, then deletes the temporary branch leaving you with the original branch where it was (like merge) but applying one commit at a time (like rebase).

Still, I just took 2 hours of work doing something that would have taken 2 days in CVS, thanks to git rebase (rolling out a new version of our code for one of our customers with a heavily customized application. Rebased their custom branch onto our new release branch, fixed all the conflicts where they want customers sorted firstname lastname or blinking red lights or whatever and done). Probably could have done it in 1:30 if I didn't have to go back through the log to figure out how to fix "Change order of fields so that customer rep appears before ". I'm working in more and more tricks to reduce conflicts every upgrade so hopefully I'll have it down to less than an hour soon.

So now I love it again.

User Journal

Journal: Life post Google-Reader 5

Journal by Qzukk

So Google followed through on their threat to kill Reader and I ended up having to track down a new RSS feed reader. Having been bitten by the Cloud, I decided it'd have to be locally installed, after trying a few I've settled on FeedDemon (now discontinued, a shame) as "best so far".

The one thing I really, really miss about Google Reader (which in fact was the reason I started bothering with RSS in the first place) is that it had a bookmark you could set that would open the URL of the next unread item in your queue. Dragged the bookmark to the bar, and one click gets me to read something new and exciting (and middle click to read lots of new and exciting things in tabs). Sure, every time someone published an RSS entry without a URL google gave me a 500 error and marked every single article read, but hey, it was damned convenient when it didn't implode.

FeedDemon gives me a link to click on each article to open in its (embedded IE) browser, but as I go down the list of articles it doesn't automatically remove the read ones nor does it automatically add new unread articles unless I manually refresh the article list (maybe I'm doing it wrong?). It has a "Next Unread" button but it doesn't open the URL, it just shows the RSS item header and then I have to click it to open the URL.

Strongly considering taking some of what I learned in the Coursera python class a while back, this feed parsing library, and learning wxPython (platform independence!) and spinning my own. It won't do much, but it WILL have a button that launches a chosen browser with the chosen URL (thinking of making it a systray icon: left click to open next item, right click for menu, blinks when there are unread articles).

It could even pop up a window to display an article with no URL.

User Journal

Journal: 20 seconds of hate: outlook, *again* 1

Journal by Qzukk

Hello, Microsoft. Please explain to me the reasoning why when a meeting is sent to people, they get a blank email with an .ics file attached, which is absolutely fucking useless to everyone not using a calendar app?

Thanks.

BTW, yes, I know about the option to turn ical off, explain to me why the FUCK you are incapable of sending a readable email with an attachment.

User Journal

Journal: Today's two minutes of hate 2

Journal by Qzukk

In every version of it Outlook I've used, it stands out as being terrible at dealing with email in general (aside from the various exploits just from opening malformed emails). It's got rules that cancel themselves because the computer just woke from sleep and isn't connected to the internet (and therefore the rules are "invalid") to having a hojillion different sources of email addresses, none of them configurable or editable (Seriously, why can't I fix a misspelling in an email once it's been saved wherever the hell it gets saved?). Autocompletion of email addresses is a complete clusterfuck. I had to delete a customer from my contact list completely and start over because her email address changed and when I edited her contact, her record refused to come up when I'm sending an email (Doesn't come up when I type, doesn't come up in the contact list when I press the "To" button, but if I write her email by hand and choose "Look Up Outlook Contact" bam there she is complete with name and company information)

If it weren't for Exchange, I'd have ditched this shit long ago. Sadly, it's still the best I've got at dealing with scheduling meetings (at least as long as they're in our own time zone).

User Journal

Journal: Today's two minutes of hate (yay backups!) 1

Journal by Qzukk

So years ago I needed a backup drive for my home computer after the last backup drive up and died on me, so I was possessed by idiocy and decided to get one of those external RAID blocks with two drives in it, RAID-1. Worked fine for years, now it's got a red blinking light on it and doesn't show up to the system anymore.

This is one of those things where foresight would have said "Hey, why are you spending 3x as much on drives when you're going to be stuck with a box with one red light to tell you there is a problem and no way to find out what the problem is". Hindsight says I'm an idiot.

At least it's just a backup.

Maybe next I'll get a LTO drive for a few thousand bucks for shits and giggles. Of course we had one of those at work that ate a tape. Better get two and take redundant backups...

User Journal

Journal: Today's two minutes of hate 1

Journal by Qzukk

God damn where do I get a fucking ftp server that can run a command after an upload without preaching to me about how insecure yadda yadda yadda. I'm not running a goddamned anonymous ftp site (and even if I was, MAYBE I'd like to have a virus scanner run on whatever bullshit goes in and out!)

Currently using ProFTPd because mod_sftp appears to be the only way to get an sftp server with virtual users on Linux without using OpenSSH+PAM voodoo. mod_exec runs programs on every single little command EXCEPT the completion of an upload because fuck you. The documentation suggests logging to a FIFO and writing a program to read lines from the FIFO and acting on each line of the log. Great, only two problems: 1) proftpd shits itself if nothing is listening to the FIFO which means the listening program has to immediately reopen the socket when logrotate restarts proftpd 2) proftpd's xferlog format can't be changed and rather than doing any sane quoting, replaces spaces in filenames with underscores because fuck you.

User Journal

Journal: 30 minutes of hate 4

Journal by Qzukk

I just spent 4 hours doing onsite customer training for a customer of ours who is transitioning from an ancient terminal-based software to our software. These customers had therefore bought all new laptops with all new Windows 8 to replace their old terminals. The decision to use laptops had been made because 1) the network infrastructure in place currently ran the terminals which were actually win95 computers plugged into a local network and using telnet to reach the server so wireless was necessary until the old equipment could be removed and 2) the computers running the old system needed to stay there until after the training was complete and they were ready to switch.

I estimate 30 minutes of that time was spent unfucking shit that went wrong when people who had never seen a GUI or used a touchpad in their life had their palms brush the touchpad and trigger random win8 gestures, opening the charms bar, opening bing, opening the start screen, and in at least one case, somehow closing the program window (or was it open somewhere but alt-tab no longer works in windows 8? Damned if I know!)

For the next round of training tomorrow I plan on disabling the gestures. Easy peasy, just a few SynTPEnh\ZoneConfig registry entries to change. And they say Windows 8 isn't ready for the desktop!

Cloud

Journal: Dear Mozilla: Please create my.firefox.com 1

Journal by sootman

As a web developer, I have a lot of extensions in Firefox. I also get new computers (and create new test accounts) with alarming frequency and often install and set up Firefox for friends and family. I want to be able to create and share lists of extensions, like a music playlist, to make it easy to set up Firefox when I get a new computer, or give a pre-made list to my friends and family. Here are my thoughts of a product I'd like to exist.

1) You create a site -- say, my.firefox.com -- and I log into it. I can upload a list of all the extensions that I have. (Auto-generated by the browser, of course.) When I go to a new machine, I log in (once logged in, I'm looking at my.firefox.com/mynamehere) and I can click one button to install the current version of all listed extensions on my current machine. (Extensions that are already installed and current are not touched; present but outdated extensions are silently upgraded.) Or, if I only want a few extensions (like if I want to install my dev tools but not Adblock Plus or NoScript so I can see how the Web looks to the rest of the world) I can check a box next to each one I want and then click "install selected extensions" at the bottom of the page. Maybe, if you want to be fancy, there is a list of the extensions and a red/green indicator that shows if it's present on my current machine.

2) You know how music services let you create and share playlists? That's what I want to do with Firefox extensions. I want a list for my mom with nothing but Adblock Plus and Status-4-Evar so I go to the page that shows all my extensions, check the boxes next to those two, click "Create new list", and name it "mom". Then, from her computer, I go to my.firefox.com/mynamehere/mom (or call her up and tell her the address, or email her the link -- in any case, this is why I want clean, clear, and memorable URLs) and click "Install all". Maybe there's a form on the page that I can use to email her a link, like how you can email articles from news sites -- your basic "share" button. (Automatically-generated and -emailed links could be long and obscure.) Maybe my sister is a bit more tech-savvy -- but not a web developer -- so I make a list for her with ABP, NoScript, and a couple others, but not all of my dev tools.

And that's it. Keep it simple. No "click here to share this list on Facebook/Twitter/G+/App.net" buttons. No scrolling list of new or popular extensions. Just a nice, simple, extremely useful service. The front page would be nothing but "sign up" and "sign in". Maybe two more buttons for "Why is Firefox great?" and "What are extensions"? Once you're logged in, there would have to be some sniffing done to see if you're using Firefox or not, and enable/disable features based on that -- for example, there would be no "install" button if you're not using Firefox, but you could still manage lists.

Lists would not be visible unless 1) you're signed in as you, 2) someone got there via cryptic, generated URL (from the "share" box), or 3) you have checked a box that says "make this list public." That way people couldn't poke around and find out that a famous columnist for the WSJ or NYT has a list for 'family' with Adblock Plus.

"The geeks shall inherit the earth." -- Karl Lehenbauer

Working...