Topic code

Qt is about to be independent again

by
in code on (#2SGX)
Once upon a time, the Qt developer kit was written and published by Trolltech. Then it was sold to Nokia. Then Nokia sold it to Digia. And now, Digia is spinning it off as an independent entity. Freedom at last?!

The Register reports:
While Digia puts an upbeat spin on the separation, it's hard to avoid wondering if, like Trolltech and Nokia before it, the company has found it hard to reconcile the coexistence of the open source and commercial versions of the platform.

It said as much in August, noting that "The installers and product packages for the open source and enterprise versions are different, and there is a complete disconnect between qt-project.org and the commercial pages on qt.digia.com" when it announced its intention to create the subsidiary.

Digia holds 100 per cent of the new Qt company at this point, and said one of the aims of the new operation will be to unify the two sets of packages, starting with one set of installers.

The first step of the creation of a new Qt has now gone live, and a few days ago the unified operation popped its head up at the IBC conference in Amsterdam to position its capabilities as a set-to-box and digital TV UI development environment.
[Ed. note: Now that Qt is on its own, they should come up with a good name for the organization. I propose "Trolltech" - just so we can truly come full-circle.]
[2014-09-17 15:15 Title updated from QT to Qt]

Tiobe index shows Java and C++ slip in popularity

by
in code on (#2S7V)
The Tiobe Index this month shows both C++ and Java languages are less popular than they've ever been, though they're still popular.
"Java and C++ are at an all-time low in the Tiobe index since its start in the year 2001. This doesn't necessarily mean that Java and C++ are on their way out. There is still a huge demand for these programming languages," Tiobe says. Based on a formula that analyzes searches on languages on a number of sites, Java's rating in the September index was 14.14 percent; C++ had a rating of 4.67 percent. Overall, Java ranked second in popularity, while C++ came in fourth.
That doesn't mean they're not still popular languages, and it doesn't mean they're not in demand. But the statistics do show their influence waning as newer and more focused programming languages gain in popularity to address domain-specific programming challenges, like Swift for Apple products, or Ruby [Ed note: for what?]. As usual, C#, PHP, and Python remain in high interest by the programming community. The Tiobe index itself is here.

Lost lessons from the 8-bit BASIC era

by
in code on (#2S0G)
Call it wistful nostalgia, perhaps, but this guy isn't alone in recalling fondly how much you could do with so little on 8 bit BASIC machines.
The little language that fueled the home computer revolution has been long buried beneath an avalanche of derision, or at least disregarded as a relic from primitive times. That's too bad, because while the language itself has serious shortcomings, the overall 8-bit BASIC experience has high points that are worth remembering.

It's hard to separate the language and the computers it ran it on; flipping the power switch, even without a disk drive attached, resulted in a BASIC prompt. ... There's a small detail that I skipped over: entering a multi-line program on a computer in a department store. Without starting an external editor. Without creating a file to be later loaded into the BASIC interpreter (which wasn't possible without a floppy drive).
Yes, what we do with computers is so much more complex now. But I do miss getting a working machine less than 1 second after turning on the on switch. I suspect I'm not alone.

Intro to x86 64 bit programming

by
in code on (#2RY0)
story imageIf you're interested in understanding how the 64 bit processor works by programming for it, have a look at the "Code as Art" blog (0xax.blogspot.com), where a guy recounts his experiences learning to program in 64 bit assembly.

section .data
msg db "hello, world!"

section .text
global _start
_start:
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, 13
syscall
mov rax, 60
mov rdi, 0
syscall
So we know that sys_write syscall takes three arguments and has number one in syscall table. Let's look again to our hello world implementation. We put 1 to rax register, it means that we will use sys_write system call. In next line we put 1 to rdi register, it will be first argument of sys_write, 1 - standard output. Than we store pointer to msg at rsi register, it will be second buf argument for sys_write. And than we pass the last (third) parameter (length of string) to rdx, it will be third argument of sys_write. Now we have all arguments of sys_write and we can call it with syscall function at 11 line. Ok, we printed "Hello world" string, now need to do correctly exit from program. We pass 60 to rax register, 60 is a number of exit syscall. And pass also 0 to rdi register, it will be error code, so with 0 our program must exit successfully. That's all for "Hello world". Quite simple :)

Truecrypt is dead. Long Live DoxBox.

by
in code on (#419)
tdk (of s'qute) has announced a project that he has been working on the last couple of months that is of interest to those still using Windows.

DoxBox: Open-Source disk encryption for Windows. Think Truecrypt++

Features:
  • Easy to use, with a 'wizard' for creating new 'DoxBoxes'.
  • Full transparent encryption, DoxBoxes appear as removable disks in Windows Explorer.
  • Explorer mode lets you access DoxBoxes when you don't have admin permissions.
  • Compatible with Linux encryption, Cryptoloop "losetup", dm-crypt, and LUKS. Linux shell scripts support deniable encryption on Linux.
  • Supports smartcards and security tokens.
  • Encrypted DoxBoxes can be a file, a partition, or a whole disk.
  • Opens legacy volumes created with FreeOTFE
  • Runs on Windows Vista onwards (see note below for 64 bit versions).
  • Supports numerous hash (including SHA-512, RIPEMD-320, Tiger) and encryption algorithms (Including AES, Twofish, and Serpent) in several modes (CBC, LRW, and XTS), giving more options than any other disk encryption software.
  • Optional 'key files' let you use a thumb-drive as a key.
  • Portable mode doesn't need to be installed and leaves little trace on 3rd party PCs (administrator rights needed).
  • Deniable encryption protects you from 'rubber hose cryptography'.
GitHub Page, Download Page

C++ 14 has been ratified.

by
Anonymous Coward
in code on (#3Z2)
story imageHerb Sutter reports that the ballot closed on Friday. From the
announcement: "We will perform some final editorial tweaks, on the
order of fixing a few spelling typos and accidentally dropped words,
and then transmit the document to ISO for publication this year as the
brand new International Standard ISO/IEC 14882:2014(E) Programming
Language C++, a.k.a. C++14."

https://isocpp.org/blog/2014/08/we-have-cpp14

Mixing Programming Languages

by
in code on (#3T1)
story imageMost programming languages come with built in support for handling common data types, however using and manipulating user-defined data types has to be done via general purpose syntax. This often leads to using Strings rather than structured data. Computer scientists have designed safe way to use multiple programming languages within the same program, which will allow programmers to use the language most suitable for each function while also guarding against code injection. Their language, called Wyvern, is available as an Open Source Project.

The full paper is available as a PDF.
Wyvern determines which sublanguage is being used within the program based on the type of data the programmer is manipulating. Types specify the format of data, such as alphanumeric characters, floating-point numbers or more complex data structures, such as Web pages and database queries.

...

Many programming tasks can involve multiple languages; when building a Web page, for instance, HTML might be used to create the bulk of the page, but the programmer might also include SQL to access databases and JavaScript to allow for user interaction. By using type-specific languages, Wyvern can simplify that task for the programmer, Aldrich said, while also avoiding workarounds that can introduce security vulnerabilities.

PirateBox 1.0 Released

by
Anonymous Coward
in code on (#3SC)
story imagePirateBox creates offline wireless networks designed for anonymous file sharing, chatting, message boarding, and media streaming. Think of it as your very own portable offline Internet in a box. PirateBox is designed to be private and secure. No logins are required and no user data is logged. Users remain anonymous - the system is purposely not connected to the Internet in order to subvert tracking and preserve user privacy. PirateBox is designed for openwrt. There are versions for android raspberry pi and linux.

Qt project to spin off as a separate company

by
in code on (#3SA)
story imageToday, Digia announced that they will spin off the QT project into its own dedicated company. In 2012, Digia acquired Qt from Nokia and has been maintaining the enterprise and open source versions at qt.digia.com and qt-project.org, respectively. Merging the two branches and forming a dedicated company will allow the developers to focus 100% on Qt while separating development costs from Digia.

XBMC is being renamed to Kodi

by
in code on (#3S6)
story imageVersion 14 of XBMC, the popular HTPC software, is changing its name to "Kodi" to further distance itself from its Xbox origins.

The renaming announcement further explains their reasons:
Six years have passed since the Xbox Media Center became XBMC, and simply put, "XBMC" fits less now than it did even in 2008. The software only barely runs on the original Xbox, and then only because some clever developers are still hacking on that platform. It has never run on the Xbox 360 or Xbox One.

Beyond the nonsensical nature of the software's name, there is a secondary issue. Because "XBMC" was originally based on the name Xbox, the developers of the software (that's us) have never had any sort of legal control over the use of its name, which has resulted in a whole slew of problems.
1234