Avocados

19. July, 2014

Not yet

Not yet

Not yet

Not yet

Not yet

EAT ME NOW

TOO LATE!

- Avocados

Original


Good Introduction to Threads and Shared Data Structures

20. June, 2014

Soon, we’ll have computers with 1024 cores but that won’t help unless software developers write code that make use of them.

To do that, you need a fundamental understanding on how threads work and what parallel algorithms are and what the real-world problems might be.

Dmitry Vyukov has created a web site “1024cores” which gives you both an introduction to the basics (what are we talking about? which tools to we have? what is a memory model and why should I care?) as well as some practical algorithms like concurrent skip lists with detailed descriptions of the problems that you will encounter and how to fix them.

If you want to know what the discussion is all about or if you want to polish your knowledge or if you need a specific solution, this is a good place to start :-)


YouDebug, the Non-interactive Debugger

7. May, 2014

“Non-interactive” and “debugger” seem to be contradictory but bear with me. YouDebug is a tool which allows you to debug a running Java application with a script.

How could this be useful? From the website:

[…]your program fails at a customer’s site with an exception, but you can’t (or don’t want to) reproduce the problem on your computer[…]

Sounds like a familiar problem: Customer has a problem but they can’t give you access for security, legal or technical reasons. You can’t go there (too far away) of even if you could, security won’t let you touch anything.

In a nutshell, YouDebug is a debugger that is controlled by a Groovy script:

breakpoint("com.acme.SubStringTest",7) {
  println "s="+s;
}

This sets a breakpoint in line 7 of “SubStringTest” and then prints the value of the local variable “s”.

Granted, it’s more time-consuming then doing it yourself (and you may need several attempts to get at the bottom of things) but you don’t have to install an IDE at your customer site, you don’t have to bring the source code along and technically, the customer is already running code that you wrote so from a legal and security point of view, this isn’t much different.


Handicapped

3. May, 2014

Disabled people aren’t handicapped, they are getting obstructed.


Good Summary of Heartbleed

17. April, 2014

This article contains a good summary of the Heartbleed bug and it’s consequences.

Want to know whether you’re affected? Check sites you use here: filippo.io/Heartbleed/

Note: You will want to check the issue date of the certificate as well. If it was issued before the April 8th, 2014, you may still be vulnerable since an attacker might have stolen the private keys.


KDE Moves Window Edge Beyond Screen Border

27. March, 2014

With KDE 4.11, a new annoying feature was added: The window manager now moves a window beyond the screen edge. The original idea was to make the scroll bar easily accessible.

But a lot of people didn’t like this for various reasons.

My reason is that I use clicking on the window border to move a window to the front. By careful arrangement of the windows on my second monitor, I can easily switch between 5 windows by moving them against the screen edge: That way, I can use the mile high menu bar trick to position the mouse and one click to bring the window to the front (and no, I can’t use the usual click to front behavior; I know much better than the computer when I want to change the stacking order and when not).

With the window border hidden beyond the screen edge, this wasn’t possible anymore.

Here is a script that solved the issue for me: Snap to Deco 1.1

Installation Instructions:

Once downloaded, the script needs to be installed via

> plasmapkg -t kwinscript -i filename.kwinscript

which unpacks and copies files to ~/.kde4/share/apps/kwin/scripts/ but doesn’t activate them. In order to activate, use the scripts KCM (KConfig Module) graphical interface:

> kcmshell4 kwinscripts

and tick the required script.


Deleting Files From Snapper

16. February, 2014

Snapper is a nice tool to revert changes made to your system.

Unfortunately, it has a nasty side effect: If you happen to delete some large files (say, an ISO image you accidentally copied to the wrong place), and that large file ended up in one of your snapshots, well … the file will be gone but the disk space will still be allocated.

The first step is to locate the large file(s) under /.snapshots

The next step is to delete it/them. That’s not so easy since snapper created read-only file system snapshots. The workaround is to create a writable snapshot, delete the files, delete the read-only snapshot, create a new one and then delete the writable snapshot. Too much on one sentence? Here is the sequence of commands:

cd .../
btrfs subvolume snapshot snapshot snapshot.bak
rm -rf snapshot.bak/...
btrfs subvolume delete snapshot
btrfs subvolume snapshot -r snapshot.bak snapshot
btrfs subvolume delete snapshot.bak

Breakdown: First, we cd into the folder which contains the snapshot itself (it also contains a file “info.xml”).

Then we clone the snapshot in “snapshot.bak” which we can modify.

The last three steps replace “snapshot” with the new, cleaned “snapshot.bak”.

In at least one occasion, that didn’t free the disk space, yet. I also had to delete the oldest snapshot which contained the file.


Follow

Get every new post delivered to your Inbox.

Join 340 other followers