Archive

Archive for November, 2011

Programming Language Popularity

November 30th, 2011 2 comments

Another contribution to our programming language discussion:

Language popularity for November 2011:

Position
Nov 2011
Position
Nov 2010
Delta in Position Programming Language Ratings
Nov 2011
Delta
Nov 2010
Status
1 1 Java 17.874% -0.63%   A
2 2 C 17.322% +0.61%   A
3 3 C++ 8.084% -1.41%   A
4 5 C# 7.319% +1.61%   A
5 4 PHP 6.096% -1.72%   A
6 8 Objective-C 5.983% +2.79%   A
7 7 (Visual) Basic 5.041% -0.43%   A
8 6 Python 3.617% -2.06%   A
9 11 JavaScript 2.565% +0.90%   A
10 9 Perl 2.078% -0.39%   A
11 10 Ruby 1.502% -0.40%   A
12 20 PL/SQL 1.438% +0.78%   A
13 13 Lisp 1.182% +0.09%   A
14 15 Pascal 0.991% +0.21%   A
15 21 MATLAB 0.955% +0.32%   A–
16 12 Delphi/Object Pascal 0.872% -0.77%   A
17 23 ABAP 0.847% +0.25%   A–
18 22 Lua 0.635% +0.02%   A-
19 16 Ada 0.622% -0.07%   B
20 19 RPG (OS/400) 0.620% -0.04%   B

Source

Echt-Platinalbum

November 27th, 2011 No comments

Immerhin ist die Lieferung kostenlos 😀

Categories: fun, music, wtf Tags:

Code::Blocks my new favoured IDE?

November 27th, 2011 3 comments

Not so long ago we argued about programming languages and IDEs. As expected several worlds collide. So maybe there is no answer to the question what’s best, but I want to draw your attention to a nice IDE.

I needed a platform-independent and comfortable tool for programming. One would say “Use Eclipse” but my past with Java and Eclipse was bad. Or one would say “Use Emacs or Vim, stupid”, true but Linux tools on Windows mostly are pain in the ass. What I finally found was Code::Blocks, available for Linux, Windows and MAC. It’s a nice, fast and in my opinion mighty IDE for C and C++ (other languages via plugins). It needs a bit time to get familiar with it but there are very powerful features making this worthwhile. I don’t want to waste your time anny longer so try by your own.

Little hint: the version receivable from the last Ubuntu LTS is ooooold so download debs from the website.

screen shot of codeblocks

URL: www.codeblocks.org

Categories: c/c++, linux, software Tags: ,

NAT for IPv6

November 25th, 2011 1 comment
Categories: linux, technic Tags: ,

Interesting, if true?

November 23rd, 2011 No comments

Hab da grad ein Whitepaper in die Finger bekommen (von Cisco). Die behaupten darin dass ihr, mit 10GigE bestückter Cluster, so schnell ist wie ein gleichwertiger Cluster mit InfiniBand QDR (40Gigabit wie sie selbst zugeben). Ich ja immer übervorsichtig bei Whitepapers von Firmen die einem Sachen verkaufen wollen und dann sich auch noch mit der Konkurrenz vergleichen.

Naja wie dem auch sei, die nehmen unteranderem einen Benchmark der von der Autoindustrie zur Crashsimulation benutzt wird. Ich hab dann mal hinterher gegoogelt und siehe da die Ergebnisse sind öffentlich und scheinen auch zu stimmen. Nur ist mir ein Detail aufgefallen, laut topcrunch.org hatte der IB Cluster (Ergebnisse von 2010) genau “RAM per CPU: 2”, was jetzt viel Interpretation zuläßt. 2GB pro Core, pro CPU, oder 2 RAM-Rigel unbekannter Größe pro CPU. Dem gegenüber steht zumindest ein Cisco Rack mit 96GB pro Node, was 8GB pro Core entspricht.

Ich mutmaße mal dass die hohe/vergleichbare 10GigE Performance durch ein paar Tricks zustande gekommen sein kann, aber kann es natürlich nicht beweisen:

  • Es wurde mehr RAM benutzt damit die Anwendung schnell läuft (ein Indiz dafür ist u.a. die höhere Performance auf einem einzigen Node, s. Figure 2)
  • Die Kommunikationslast der Benchmarks ist sehr gering, bzw die Benchmarks wurden speziell nach dem Kriterium ausgesucht
  • Die Benchmarks arbeiten nur mit sehr kleinen Nachrichten, wodurch die 4x höhere Peakperformance von IB nicht sichbar wird.

Aber lest selbst und bildet euch eine Meinung. Vielleicht siehts von euch ja jemand anders und kann mir glaubhaft erklären warum bei 2 angeblich identische Clustern, die Anwendungen auf dem “von Spezifikationen her langsameren” Interconnect schneller laufen sollen.

Categories: linux, nerdcore, news Tags: , ,

TRIM Speedup on OS X Lion using Full Disk Encryption

November 20th, 2011 1 comment

I was quite surprised to see the speed up achieved by enabling TRIM support on Lion using TRIM Enabler. After I enabled it, I created a big file, deleted it (thus freeing/trimming the no longer used blocks) and rewriting another file of the same size:

jupp@x / > dd if=/dev/zero of=zero bs=1m count=$((6*1024))                                                                                                                                                                                                                                                                            
6144+0 records in
6144+0 records out
6442450944 bytes transferred in 71.336086 secs (90311248 bytes/sec)
jupp@x / > rm zero                                                                                                                                                                                                                                                                                                                      jupp@x / > dd if=/dev/zero of=zero bs=1m count=$((6*1024))                                                                                                                                                                                                                                                                              
6144+0 records in
6144+0 records out
6442450944 bytes transferred in 55.568795 secs (120149352 bytes/sec)

That’s a 1.33 speedup for sequential writing. This should not effect reading, of course. As you can imagine, the benefits for random IO on small blocks will be much higher than that.

This shows that the on-chip garbage collector in the SSD drive is (as expected) unable to do anything if full disk encryption is used, requiring the use of TRIM in order to keep write performance high. However, be warned: the use of TRIM could potentially compromise the invisibility of your main partition if using a fake partition for plausible deniability.

I’m using a MacbookPro6,2 and an Intel SSDSA2CW120G3.

Disclaimer: I’m aware that using dd in this fashion in order to achieve quantitive benchmarking results is not recommended. It was just a quick hack to demonstrate that it’s freakin faster with TRIM.

Programming Language Rant

November 15th, 2011 4 comments

From http://www.esm.psu.edu/~ajm138/fortranexamples.html:

C programmers love to gloat that recursion can not be done in Fortran. When they say Fortran, they mean FORTRAN 77, since they absolutely refuse to acknowledge the existence of modern Fortran 90. (Fortran 90 came out over ten years ago. You would think they might know something about it by now!) But this example shows that even in FORTRAN 77 one can quickly and easily write routines that are recursive. So stick that in your complex variables, C programmers, and — oh wait, I forgot there are no complex variables in C. You have to manually define a complex data type. Not to mention having to write math functions like sin( ) and cos( ) to handle such data types.

Hahaaa … love it!

Categories: c/c++, nerdcore Tags: , ,

Password Strength

November 10th, 2011 3 comments

I personally use 1password to generate, manage and backup my passwords. This lead to a controversial discussion today, because some people felt uncomfortable with the idea to upload all your passwords (albeit encrypted) to the cloud. Some interesting articles:

Good Bye Passwords (in German):
http://blog.koehntopp.de/archives/3085-Sag-zum-Passwort-leise-Tschuess….html

Awesome article about password strenght and password management:
http://www.troyhunt.com/2011/03/only-secure-password-is-one-you-cant.html

Password entropy calculator:
http://rumkin.com/tools/password/passchk.php

Most of my passwords are 50 characters long and thus not easily guessable (> 256bit entropy using the calculator above). How do you handle your passwords?

screen scroll back

November 10th, 2011 1 comment

Ich wusste bis gerade eben nicht dass man in “screen” sogar scrollen kann – hier ein kurzer Abriss wie es geht.
Zuerst in den copy modus wechseln:

ctrl-a [

Dann sollte in der Status Zeile kurz sowas wie “Copy Mode” erscheinen. Danach kann man mit den “vi” Kommandos scrollen. Am sinnvollsten sind ctrl-f (forward) und ctrl-b (backward) um Seitenweise zu scrollen, Pfeiltasten sollten auch gehen.

Einziges Problem – per default werden nur 100 Zeilen gespeichert. Das kann man mit einem Eintrag in die $HOME/.screenrc ändern:

defscrollback 10000

Suchen geht auch:

/ (forward search)
? (backward search)

Man kann sogar kopieren – deswegen copymode:

ctrl-a [
#navigigieren zur gewünschten zeile
leertaste
#markieren der zu kopierenden zeilen
leertaste
ctrl-a ] #fügt den Inhalt der puffers dann auf der kommandozeile ein . . .

Categories: linux, software Tags:

Beautiful Tables

November 8th, 2011 No comments

After a long discussion today, I stumbled upon this guide, which describes how to do table layout in a professional manner. It’s just stunning how often people choose arbitrary table layouts without paying much attention on best practices. The picture included in this post explains most of it, also note the booktabs latex package for implementing this more easily.