Recently I ran out of space on a Boot Camp partition with Windows 10 Pro. So I looked around for ways to make more space for Windows by shrinking the macOS partition and enlarging the Windows partition. Apple doesn’t officially support this in Boot Camp without reinstalling Windows, and doing these operations by hand, e.g. with the help of GNU Parted, is time consuming and tedious.
Luckily, I stumbled over Paragon CampTune, a commercial macOS utility (ready for 10.14 Mojave) that automates these tedious tasks and allows to resize the macOS and Boot Camp partitions on the fly, without having to reinstall Windows or macOS.
It finally worked wonderfully, the only irritating thing was that the tool showed a bland error at the first start of the repartitioning process: “Object not found”. After restarting the process with slightly different partition sizes, it could be successfully completed.
I can thus recommend this handy utility as it can save hours of work for a few bucks (ca. 22 USD).
Karabiner allows to customize almost any aspect of the keymap on Mac OS X in a convenient way:
Karabiner – A powerful and stable keyboard customizer for OS X. (formerly known as KeyRemap4MacBook)
For example, you can make the “Home” and “End” keys behave like on a PC. Regarding these two keys, I find the PC style behaviour more intuitive, e.g. using shift-home and shift-end to select text, rather than using the tricky three-finger-combinations shift-cmd-left_cursor and shift-cmd-right_cursor in Mac OS X.
Here’s how to configure this in Karabiner:
Further, I decided to lower the “Key Repeat Delay Until Repeat” to 100 ms and the “Key Repeat” to 23 ms for quicker navigation and repetitive typing.
Of course, there are many other useful tweaks to explore.
As Coursera doesn’t simply use HTTP basic authentication to protect access to the slides and videos of their courses, using curl or wget to download them is not an option.
Conveniently, there’s already a python script that can do this (and even names the files properly):
I don’t know exactly when these settings were introduced in Skype, but it’s obvious that they haven’t been there in this form before Microsoft’s acquisition of Skype.
The irritating thing is that one of my Skype accounts had the “Allow Microsoft to use your Skype profile information to show you more relevant ads in this application” setting enabled and I can’t remember (nor imagine) I ever knowingly allowed ad targeting.
The other one is “Allow Microsoft to collect information on my behalf to make the service better” which they decided to hide in the “advanced” settings tab, although it’s clearly very privacy relevant (just read the disclaimer).
So, make sure to revise all your settings in Skype, particularly those in the privacy and advanced tabs.
Nicholas Matsakis of Mozilla on how Rust guarantees type soundness, memory safety, and data-race freedom while still offering control similar to C/C++:
(via Guaranteeing memory safety in Rust | Air Mozilla.)
Rust, with its funny name, reminds more of a mutt than an academic programming language. It’s that pragmatism however, that has a lot of potential to help solving well-known “real world” reliability problems in software engineering. It would definitely make a worthwhile addition to other programming languages taught in CS classes.
Mozilla has already started building Servo, a web browser engine based on Rust. While still far from usable (Disclaimer: I’ve just compiled and quickly tested the current master branch sources on Mac OS X Mavericks), it’s the right strategic move and I wonder when other browser projects, like Chromium, will start shifting to safer programming languages too.
Modern web browsers are very complex and accordingly vulnerable pieces of software and yet, with the rise of the browser as an app platform, we depend more and more on their reliability, safety and security.
Ironically, my Chrome browser irrecoverably froze while I was drafting this blog post. Although chrome doesn’t rust, some Rust would actually be a good thing for Chrome, in the long term.
A friend recently told the following joke:
“The idea that git can be used offline is an illusion – you still need connectivity for googling which arguments to pass to what command.”
That’s an exaggeration, of course, but as always, there’s a grain of truth in it. So here we go:
Eliot from the SaltyCrane blog wrote a nice Django management command that allows to easily trace a Django runserver simply by executing ./manage.py trace runserver. Works great!
Django trace tool, django-trace is [..] a Django management command that uses sys.settrace with other Django management commands. https://github.com/saltycrane/django-trace.
via Notes on tracing code execution in Django and Python « SaltyCrane Blog.
Just take a look at the following screenshot I just took, showing two Skype 22.214.171.124 instances running on a current Windows 7 box with 4 GB of RAM:
That’s 330 MB of private memory for each instance at this very moment! Note that these numbers are steadily growing (at about 2 KB/s) for both processes – for no apparent reason. A hint, that there’s likely a memory leak somewhere in Skype.
Let’s hope Microsoft will rewrite Skype from scratch (The current code-base probably isn’t worth refactoring). I’m confident they don’t lack the human and financial resources to do it. It can only get better.
- Make sure, the invisible (off-screen) window has the focus: Hold down ALT + Tab to select the (invisible) window you want to move
- Hold down Alt + Spacebar
- Press the M key
- Use the arrow keys to relocate the window until it becomes visible again
- Press the Enter key when you have the Window in the desired location.
via Move a window when its title bar is off the screen (Tips, Tricks, Tweaks, and Setting) – TACKtech Corp..