Software Engineering

Software Engineering

1635 bookmarks
Newest
Jasypt: Java simplified encryption - How to encrypt user passwords
Jasypt: Java simplified encryption - How to encrypt user passwords

Almost all modern web applications need, in one way or another, to encrypt their users' passwords. We could say that, from the moment that an application has users, and users sign in using a password, these passwords have to be stored in an encrypted way.

There are some intuitive reasons for this: our data stores can be compromised, and so can our communications. But the most important reason is that we have to think of our users' passwords as sensitive personal data. Their passwords are their key to their privacy, so they are personal, they are sensitive, and no one (not even us) has the right to know them. And we must honor this if we want to gain our user's trust.

Jasypt: Java simplified encryption - How to encrypt user passwords
PyRoom — distraction free writing
PyRoom — distraction free writing

Just you and your thoughts

Writing prose in a world as busy as the online world can be hard. Instant messengers, busy websites and other distractions can always get into your way when all you want to do is write. Enter PyRoom

PyRoom is a free editor that stays out your way - and keeps other things out of your way, too. As a fullscreen editor without buttons, widgets, formatting options, menus and with only the minimum of required dialog windows, it doesn't have any distractions and lets you focus on writing and only writing. It is distributed under the GNU General Public Licence v3.

PyRoom — distraction free writing
jaxl - Google Code
jaxl - Google Code

JAXL stands for "Jabber XMPP Library". For fun, JAXL stands for "Just Another XMPP Library". JAXL is written in PHP.

This library currently supports following features:

* Connect to a Jabber Server (e.g. Gtalk)
* TLS Encryption
* DIGEST-MD5 and PLAIN authentication mechanisms
* Roster Support
jaxl - Google Code
The History of Python
The History of Python
Later blog entries will dive into the gory details of Python's history. However, before I do that, I would like to elaborate on the philosophical guidelines that helped me make decisions while designing and implementing Python.
The History of Python
index
index
In Kamaelia you build systems from simple components that talk to each other. This speeds development, massively aids maintenance and also means you build naturally concurrent software. It's intended to be accessible by any developer, including novices. It also makes it fun :)
index
S3:// | overstimulate
S3:// | overstimulate

3:// is a new extension available on addons.mozilla.org for interacting with Amazon's S3.

Rather than a conventional FTP-like interface (provided by S3Fox), s3:// uses the urlbar to interact with S3.

By going to s3:// you can add your Amazon S3 credentials and then manage your buckets, upload new files, or delete existing files.

S3:// | overstimulate
jQuery pageSlide - Halobrite
jQuery pageSlide - Halobrite
jQuery pageSlide was inspired by the UI work of Aza Raskin. In his recent posts regarding concepts for Firefox Mobile and a mouse-based Ubiquity, Aza introduced the idea of sliding (or "throwing") content aside to reveal a secondary content pane.
jQuery pageSlide - Halobrite
Resolver Systems
Resolver Systems
Resolver One is an Excel-compatible spreadsheet designed for reliability. It's programmable in Python, integrates easily with .NET, and comes with a built-in Web server.
Resolver Systems
Shindig - an Apache incubator project for OpenSocial and gadgets
Shindig - an Apache incubator project for OpenSocial and gadgets

Shindig is a new project in the Apache Software Foundation incubator and is an open source implementation of the OpenSocial specification and gadgets specification.

The architectural components of Shindig can be broken down as follows:

* Gadget Container JavaScript -- core JavaScript foundation for general gadget functionality. This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.
* Gadget Server -- used to render the gadget XML into JavaScript and HTML for the container to expose via the container JavaScript.
* OpenSocial Container JavaScript -- JavaScript environment that sits on top of the Gadget Container JavaScript and provides OpenSocial specific functionality (profiles, friends, activities, datastore).
* OpenSocial Data Server -- an implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.
Shindig - an Apache incubator project for OpenSocial and gadgets