Jailbreaking my old iPhone hangs partway through unless you run in XP SP3 mode. I also ran as admin, just for grins.
(Yep, taking a page from The Hanselman here, this is not so much UI as it’s so I can search my external brain later.)
Things an Amateur Computer Scientist Rarely Talks About
Jailbreaking my old iPhone hangs partway through unless you run in XP SP3 mode. I also ran as admin, just for grins.
(Yep, taking a page from The Hanselman here, this is not so much UI as it’s so I can search my external brain later.)
If you want to call msbuild with arguments from psake without getting errors like “MSB1008: Only one project can be specified”, you’ll have to do some quoting:
exec {msbuild "/verbosity:quiet" "/p:WarningLevel=4;OutDir=$build\\" "/t:Clean,Build" MySolution.sln }
By default, PowerShell ISE uses a 16-bit Unicode text encoding, if you let it create your script. Mercurial, specifically TortoiseHg, says a file is binary if it contains any NUL bytes.
ASCII-compatible text, encoded as UTF-16, or a variant thereof, will contain *plenty* of NUL bytes for Mercurial to find, thus you can’t see diffs for scripts you create with Powershell ISE in your Commit window.
To create UTF-8 versions of your scripts, you can run:
1 | gci -recurse -include *.ps1,*.psm1 | %{$foo = gc $_; $foo | out-file -en utf8 $_} |
Of course, if you actually *need* UTF-16 characters in your scripts/modules, this would be a Bad Idea.
Other workarounds include using a different text editor to create your script, then edit in Powershell ISE.
Weight this morning: 328.6
Calories eaten: 1633
Calories burned: 2807 (!)
Part of home ownership is yard ownership. We spent the day removing an old barbed wire fence and clearing brush around an old fence along the back of the property. I’m not convinced that I actually burned 2807 calories, but that’s what my “Lose It!” iPhone app tells me.
The weight “gain” I expected, the vast majority of the weight I’ve lost so far is almost certainly water weight. I could plot my net calorie loss (accounting for RMR), but weight will eventually line up with that. I’m told water weight can vary by 5 lbs/day, so as long as the long term plot of my weight is trending down, I’m happy.
Initial weight on Monday: 335 lbs (!)
Target weight: ~170 lbs (!!)
Yep. It’s that bad. The good news is that water weight changes pretty quickly, which makes the first few days of any diet/exercise lifestyle change nice and productive.
Today’s Weight: 327.4 lbs
Total Lost So Far: 7.6 lbs
Amount to Lose: 157.4 lbs
Got inspired by www.urbanranger.com yesterday, so I walked to work today. Took about 40 minutes, but traffic was about as favorable as I can imagine it being. Going home will be a bit more interesting, though, might take about an hour. There’s an annoyingly narrow road that is both A) the fastest route and B) suicidal to walk on in the afternoon, since it’s narrow, with no shoulders, and ditches on both sides. Coming to work there’s almost nobody coming toward you, so walking on the road isn’t so bad. Going home is a different story. Anyhoo.
Lessons learned from today’s walk:
- Plan my mornings better. I would’ve been a bit faster leaving the house if I got my stuff together the night before. Since walking extends my commute from 5-10 minutes to 40 minutes, I don’t have as much room for sloth in my morning.
- Find some more audiobooks & podcasts to listen to.
- Figure out lunches in advance. This is another case of “needing to plan ahead more, now that everything’s not 5 minutes away”. Perhaps I could swing by Wal-mart tonight and get what I need, then drop it off here on my way home, so I don’t have to haul it in with me each day. I’m not ready to kick my Diet Pepsi Max habit yet.
Perhaps this is a bit short-sighted of me, but it looks like we could actually make use of network shares to get to repositories on other machines. A “developers” share is already set up on our machines, and everybody knows how to get to it from project machines. If this is a viable solution, I wouldn’t need anything special to A) serve up a mercurial repo or ten or B) get IT to back it up, since they already take good care of our existing shares. This would totally eliminate the need to install copSSH or LightTPD, or train people on how to use them, or convince IT (both ours and our clients) that “yes, you really do want me to install this extra server.”
I like potential solutions that are actually easier than what we’re doing now.
That leaves the code review cases, where I have a changeset I want someone else to review, but it doesn’t belong in the “central” repo until after it’s passed.
Perhaps if everybody had a share set up as \\MyMachineName\hg that pointed to wherever their local repos were kept, that would simplify finding shares.
Progress! I love it!
This may seem simple and/or obvious, but LightTPD for Windows can be had at http://en.wlmp-project.net/.
I’m currently trying just the server package, called “LightTPD for Windows” on the downloads page. They also have a WLMP Webserver Package that has other stuff built in. I don’t think I’ll need MySQL and such, but hey, if I do, it’s out there.
Ok, I’ve drunk the distributed source code control kool-aid. I’m convinced. I want it. Unfortunately, for various reasons, if I want to use it at work right now, it has to run on Windows.
That is, I need to be able to *serve* the repositories from Windows. I don’t have the luxury of slapping a Linux box or two in our server room for this purpose (yet), and so I have to be able to do it from Windows.
Mercurial seems to have the best client support on Windows, so that’s the one I’m going to try first. It looks like there’s three ways to serve up a repository:
hg serve
This is only meant for small groups, on controlled networks, and it only handles clone and pull ops. We are a relatively small group, 8-10 people, and the network is controlled. If clone/pull is all most people need to serve up, then this may be the way to go for the 80% case.
hg over SSH
If you have an SSH server, you can do hg over ssh. This means installing Cygwin, which is overkill, I think, or using something like copSSH. I think I’d also have to manually manage users, or get permission from IT to hook in to the domain authentication stuff. That’s theoretically possible, but wouldn’t be easy for them or me.
hg over HTTP using CGI
If you have a web server, you can use that instead. There’s Apache, LightTPD, and IIS. I haven’t seen any success stories for hg on IIS, and I’m not really in this to break new ground if I don’t have to, so that leaves Apache and LightTPD. Of those two, I’m going to try LightTPD first, it’s a smaller install.
Not everybody will need push support, of course. I may be able to get away with only setting this up on a few key machines, and letting everybody else just do hg serve. They would still be able to pull changes from other repositories, and with hg serve we could pull changes from theirs. This would support the KernelPractice style, which is where I’d like to be when this is set up and working.
(edit: removed a trailing sentence fragment, what I get for not proofreading…)
If you’ve been waiting (as I have) to install Linux on a machine, especially a laptop, run, don’t walk, to www.ubuntu.com and give the Hardy Heron (8.04) a try.
For the last 3-4 years I’ve been trying each release, waiting for one that would work “well enough” on my Acer Aspire 5672 WLMi. By “well enough” I mean not crashing on hibernate/restore. 8.04 lives up to Canonical’s claim: It Just Works. This has given me back a processor core that used to be dedicated to running antivirus/antispyware under Vista.
So, to all the people who worked on this release, to all the developers who slave away on this stuff, thank you.
All content not otherwise marked is copyright © Bryan C. Bates under the terms of the Creative Commons Attribution 3.0 US license. Basically, you can share / remix content from here, so long as my name stays with the parts that are mine. (Preferably with a link back to here.)
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
| « Nov | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||