Advertisement
Archive | General RSS for this section

Today in Tech – 1887

On this day in 1887 the comptometer, the first commercially successful key-driven mechanical calculator, was patented in the United States by inventor Dorr E. Felt. The comptometer was primarily an adding machine, but it could also subtract by nines-complement arithmetic, divide as well as multiply through repeated addition.

The comptometer had a keyboard of eight or more columns with nine keys each, and some models had varying key arrays specifically made for special purposes, such as currency exchanges and imperial weights. It was a commercial success, and schools were established that taught the efficient operation of the machine. It was manufactured without interruption from 1887 to the mid-1970s with constant improvements, and continued to be in limited use up until the early 1990s when it was superseded by electronic calculators and computers.

The Model ST comptometer, built circa 1930s - Image taken from Wikipedia

The Model ST comptometer, built circa 1930s – Image taken from Wikipedia

Projects of the Week, October 9, 2017

Here are the featured projects for the week, which appear on the front page of SourceForge.net:

Maxima — GPL CAS based on DOE-MACSYMA

Maxima is a computer algebra system comparable to commercial systems like Mathematica and Maple. It emphasizes symbolic mathematical computation: algebra, trigonometry, calculus, and much more. For example, Maxima solves x^2-r*x-s^2-r*s=0 giving the symbolic results [x=r+s, x=-s]. Maxima can calculate with exact integers and fractions, native floating-point and high-precision big floats. Maxima has user-friendly front-ends, an on-line manual, plotting commands, and numerical libraries. Users can write programs in its native programming language, and many have contributed useful packages in a variety of areas over the decades. Maxima is GPL-licensed and largely written in Common Lisp. Executables can be downloaded for Windows, Mac, Linux, and Android; source code is also available. An active community maintains and extends the system. Maxima is widely used: annual direct downloads exceed 300,000. Many other users receive it through secondary distribution.
[ Download Maxima — GPL CAS based on DOE-MACSYMA ]


SparkyLinux

SparkyLinux is a GNU/Linux distribution created on the “testing” branch of Debian. It features customized lightweight desktops (like E19, LXDE and Openbox), multimedia plugins, selected sets of apps and own custom tools to ease different tasks. Sparky is in-between the distros that are beginner-friendly and those, that require some amount of Linux knowledge. Beginning Linux users are advised to consult the project forums regarding any issues or doubts.
[ Download SparkyLinux ]


packfilemanager

This is the Total War pack file manager project, starting from version 1.7. A short introduction into Warscape modding: http://www.twcenter.net/forums/showthread.php?620537-Warscape-Modding-Primer Join the PFM user group on Steam to receive update notifications: http://steamcommunity.com/groups/pfm_users
[ Download packfilemanager ]


Universal Media Server

Universal Media Server is a DLNA-compliant UPnP Media Server Universal Media Server supports all major operating systems, with versions for Windows, Linux and Mac OS X. The program streams or transcodes many different media formats with little or no configuration. UMS is powered by MEncoder, FFmpeg, tsMuxeR, AviSynth, MediaInfo and more, which combine to offer support for a wide range of media formats Check out the list of media renderers here: http://www.universalmediaserver.com/about/
[ Download Universal Media Server ]


gMKVExtractGUI

A GUI for mkvextract utility (part of MKVToolNix) which incorporates most (if not all) functionality of mkvextract and mkvinfo utilities. Written in C# .NET 4.0, in order to attain high compatibility with Windows OS (WinXP and newer Windows), as well as Linux through Mono (v1.6.4 and newer), and perhaps OSX (not tested).
[ Download gMKVExtractGUI ]


feren OS

feren OS is a free Replacement for Windows and macOS with the best that the Linux Community can offer in customisation, applications, and much more in one package. feren OS is a distribution for every type of user with a solid Linux Mint base. feren OS is a one-of-a-kind Distribution for it’s customisation and familiarity, try it out today!
[ Download feren OS ]


waircut

Wireless Air Cut es un software de auditoria del protocolo WPS en redes wireless, portable, libre y gratuito para Ms Windows. Sirve para comprobar la seguridad WPS de nuestras redes wireless y detectar posibles brechas de seguridad. Puede comprobar si el router tiene establecido un pin wps genérico y conocido, si es vulnerable a un ataque por fuerza bruta o si es vulnerable a un ataque Pixie-Dust. Ver Instrucciones de instalación en la wiki. Wireless Air Cut is a WPS wireless, portable and free network audit software for Ms Windows. It is used to check the security of our wps wireless networks and to detect possible security breaches. You can check if the router has a generic and known wps pin set, if it is vulnerable to a brute-force attack or is vulnerable to a Pixie-Dust attack. You can see the Installation instructions on Wiki. Wireless Air Cut se distribuye bajo licencia: Creative Commons Atribución-NoComercial-SinObraDerivada 4.0 Internacional
[ Download waircut ]


Freeware Advanced Audio Codec

FAAC is an Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC). The goal of FAAC is to explore the possibilities of AAC and exceed the quality of the currently best MP3 encoders. You can submit pull requests via GitHub: https://github.com/knik0/faac https://github.com/knik0/faad2
[ Download Freeware Advanced Audio Codec ]


rocketchat-logo Rocket.Chat Desktop Client

Rocket.Chat Desktop client is the official desktop app for Rocket.Chat, the simple but powerful open source web chat platform. It’s tested on macOS, Windows and Linux and delivers a superb array of tools and features.
[ Download Rocket.Chat Desktop Client ]

October 2017, “Staff Pick” Project of the Month – Octave-Forge

For our October “Staff Pick” Project of the Month, we selected Octave-Forge, a collection of packages providing extra functionality for GNU Octave. Octave-Forge was previously elected “Community Choice” Project of the Month in July of 2015. Recently we caught up with the team behind the project, and they shared some thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the Octave-Forge project please.
Octave-Forge Team (OT): GNU Octave is a high level array programming language. It is primarily intended for numerical computations and is mostly known for being compatible with the Matlab language.

The Octave-Forge project provides multiple packages for GNU Octave which extend Octave into specific applications such as control systems, symbolic mathematics, image processing, statistics, and interval arithmetic. It also provides a collaborative environment for development of Octave packages and is another nexus of the Octave community.

SF: What made you start this?
OT: The project started in 2001 by Paul Kienzle and Andy Adler, neither of them is involved in the project anymore. At the time, GNU Octave was developed by John W. Eaton alone and—while the CVS repository was public—he was the only person reviewing the patches from a community rapidly increasing in size. New releases were too slow and patches would take too long to be reviewed.

Their solution was to start Octave-Forge, a separate project where the rest of the community could contribute directly. At that time, the project would make use of subversion, have multiple developers, and have shorter release cycles. With time, new functions in Octave-Forge could be improved and migrated to GNU Octave.

Eventually, Octave-Forge became too large and unmaintainable. A lot of its contributions comprised one-time code dumps. This was all before GNU Octave had support for packages. Then, Søren Hauberg became the administrator of Octave-Forge. To solve the issue, he implemented “pkg”, still the package manger for GNU Octave, and split Octave-Forge into multiple packages each with its own maintainer.

SF: Has the original vision been achieved?
OT: Yes!

Octave-Forge has 68 domain specific packages and more than 30 active developers. In addition, most of its packages are bundled with the binary releases of GNU Octave and packaged in Debian, Fedora, and Ubuntu.

29 of our packages have received updates within the last year. Most of the packages are compatible with a wide range of Octave versions, thus we can bring regular updates to a large number of users, who may install packages directly from Octave-Forge—even on old systems.

At Octave-Forge we have gathered several developers who are not directly involved in the development of Octave core, but publish extra functionality.

SF: Who can benefit the most from your project?
OT: Anyone who writes programs in Octave.

Not that they need to be told. We don’t believe there’s anyone nowadays writing Octave code, which is not using at least one of the Octave-Forge packages.

However, Octave-Forge packages are bundled with the official GNU Octave releases. We hope that users see the packages as an integral part of Octave and don’t perceive Octave-Forge as a separate software project. So, very few of them might actually know about it.

SF: What core need does Octave-Forge fulfill?
OT: When GNU Octave is missing functions for a particular task, the packages from Octave-Forge provide optional extensions, e. g., libraries of functions, new data types, or new I/O interfaces.

SF: What’s the best way to get the most out of using Octave-Forge?
OT: GNU Octave has an integrated package manager and packages from Octave-Forge can be installed or updated with “pkg”, similar to Perl’s CPAN, python’s pip, and ruby’s gems.

On the Octave-Forge website we also provide a complete function reference for both the GNU Octave language and packages, with examples, demos, and further documentation.

Finally, most functions in Octave-Forge are written in the Octave language (m-files) and so can easily be inspected, modified, and improved by the user.

SF: What has your project team done to help build and nurture your community?
OT: We help new Octave package developers with the technical hurdles of bundling Octave functions into an Octave package which can be used by others. We provide documentation and an example package to help with this task.

During each package release, we help the package maintainer to check for common oversights, licensing issues, compatibility, portability, and completeness of the Octave-Forge package.

SF: Have you found that more frequent releases helps build up your community of users?
OT: Each release announcement is a chance to attract new users. For example, whenever we release a domain-specific package, we can advertise the use of Octave in that domain. However, we have observed little direct echoes from that.

For Octave-Forge, regular releases are rather a method to stay compatible with the development and enhancements of GNU Octave.

SF: What was the first big thing that happened for your project?
OT: Being able to install packages from within Octave.

SF: How has SourceForge and its tools helped your project reach that success?
OT: With SourceForge we are able to host several source code repositories for our individual Octave packages together with a website where we present each package and the functionality that it provides. We have the freedom to choose between several version control systems, i. e., we can use mercurial (which we prefer) and git.

SF: What is the next big thing for Octave-Forge?
OT: We are thinking about a fully decentralized Octave package archive. Something like CPAN. However, this would rather become a separate project.

Currently, we have a small Octave-Forge project team, which acts as a gatekeeper for new package releases. This doesn’t scale well and some package authors want to be able to independently release Octave packages on their own without a central authority.

SF: Do you have the resources you need to make that happen?
OT: Most of our contributors come from a scientific background and their expertise is not in the area of software maintenance.

We would have to build a good set of automatic validation tools and infrastructure to help make releases without manual intervention. Probably this also requires us to simplify package management in Octave core to lower the entry barrier. We would have to evaluate some legal framework regarding the redistribution of foreign, unchecked content.

This project is not a priority at the moment, so it lies in a distant future until we see a stronger need for it.

SF: If you had to do it over again, what would you do differently for Octave-Forge?
OT: We had to learn, which approach works best in the Octave community to attract new contributors and to maintain the overall project. Our setup today—with domain-specific packages, individual package maintainers, and many helping hands to keep the packages in good shape—works quite well, but we have much room for improvement.

This project is constantly improving and changing while contributors come and go. There probably would have been no better way to start our journey.

[ Download Octave-Forge ]

Today in Tech – 1903

On this day in 1903 American physicist and computer pioneer John Vincent Atanasoff was born. Atanasoff was born in Hamilton, New York and received his bachelor of science degree in electrical engineering from the University of Florida; his master’s degree in mathematics from Iowa State College; and his Ph.D. in theoretical physics from the University of Wisconsin–Madison. He is best known for having invented the first electronic digital computer, the Atanasoff-Berry Computer. He came up with the idea for a calculating machine that would use binary arithmetic and electronic switching devices while he was teaching at Iowa State College in the 1930s. With the help of his graduate student Clifford Berry, he was able to produce the Atanasoff-Berry Computer prototype in November, 1939.

There was some dispute over who really invented the first electronic digital computer in the early 1970s, but this was resolved in 1973 when the Honeywell v. Sperry Rand lawsuit ruled in favor of Atanasoff.

Atanasoff died in June 15, 1995 at the age of 91.

John Vincent Atanasoff - Image taken from Wikipedia

John Vincent Atanasoff – Image taken from Wikipedia

October 2017, “Community Choice” Project of the Month – x64dbg

For our October “Community Choice” Project of the Month, the community elected x64dbg, an open-source x64/x32 debugger for windows. Developer Duncan Ogilvie shared some thoughts about the project’s history, purpose, and direction.

SourceForge (SF): Tell me about the x64dbg project please.
Duncan Ogilvie (DO): x64dbg is a user-mode debugger for Windows that focuses on debugging and analyzing executables, for which the source code is not available. A good use case would be debugging malware. Once you load an executable you can step through it, place breakpoints, view the registers, memory, call stack, threads and a lot more.

SF: What made you start this?
DO: Back in 2014 I wanted to debug a 64-bit executable and I didn’t think the debuggers that supported 64-bit (WinDbg, VisualDux) were user-friendly enough. Around the same time I also had to do a final project for secondary school, so I chose to develop it further.

SF: Has the original vision been achieved?
DO: Because I didn’t have much programming experience when starting x64dbg, I also didn’t really set any requirements or create a product vision. My initial idea was to create a 64-bit debugger that had features similar to OllyDbg, but what to develop first was basically dictated by the Tuts4You community and by personal experience of using x64dbg as my day-to-day debugger. The first contributer (Sigma) also helped me out a lot. He designed the GUI and a lot of his code is still being used years after he disappeared.

I actually think this project has exceeded any expectations I had for it and if it wasn’t for the amazing community I’d have probably stopped working on it a long time ago.

SF: Who can benefit the most from your project?
DO: Probably malware researchers and people who like reverse engineering software in general. I also heard reports of people using it to learn about x86 assembler, for game hacking, cracking software and generally I use it to debug the software I develop quite often.

SF: What’s the best way to get the most out of using x64dbg?
DO: The best way to get started is to open up a crackme or something and start debugging it to play around and see what you can do. A basic help is available, but this needs additions to help new users get started.

If you know your way around x64dbg a little, you should take a look at how expressions work. This is described in the introduction of the help and will get you a long way in the more advanced features like conditional breakpoints or tracing. It can also be very helpful to write a plugin or script if you want to automate something.

Don’t be afraid to contact us through Telegram, IRC, Twitter, e-mail or Github if you have questions. Also take a look at compiling x64dbg to help integrate your feature request or fix a bug.

SF: What has your project team done to help build and nurture your community?
DO: One of the things we did is provide community translations through Crowdin. There are very complete translations in Russian, Chinese, Turkish, Korean, Dutch, German, Spanish which helps grow the userbase in those communities.

We also built a bot to synchronize Telegram, IRC and Gitter which allows people to stay on their favorite platform. There is also a blog that is open to everybody to talk about their experience or project with x64dbg.

SF: Have you found that more frequent releases helps build up your community of users?
DO: Unlike a lot of projects there is no real release model for x64dbg. The philosophy is that every commit should compile a stable version and every commit is instantly uploaded to the Github repository. At the end of the day a snapshot is uploaded to SourceForge. In general I believe this helps the project because it makes for a very short feedback loop, but it has the obvious downside that a snapshot can suddenly introduce bugs (which are then quickly discovered and usually fixed the next day). It is really hard to say how this release model affects the amount of users.

SF: How has SourceForge and its tools helped your project reach that success?
DO: SourceForge has gracefully provided hosting for pretty much every snapshot of x64dbg that was ever released. It also provides hosting in almost every country in the world, and all for free, which is amazing!

[ Download x64dbg ]