We’ve been really busy over the past week finishing up some big enhancements to SQLCipher, the open-source full-database SQLite encryption extension that powers Strip, our Data Vault for the iPhone.
The latest version SQLCipher 1.1.1, is based on the most recent release of SQLite (3.6.21), which has a many improvements and bug fixes. In addition the new SQLCipher features include:
- Code clean up to allow compilation with VS.NET on windows.
- Enhancements to the codebase to allow encrypted databases to be attached to unencrypted database for the purpose data migration
- Resolution of a minor memory leak in the pager subsystem
- Documentation and test enhancements
The newest build makes SQLCipher truly cross-platform – it’s now been used successfully under Mac OS X, iPhone, Linux, and Windows (across MinGW, Cygwin, and native VS.NET). The new version is a drop in replacement for previous releases, so we’re recommending that all SQLCipher users upgrade to the latest.
Check out SQLCipher on GitHub.
Zetetic is the creator of the encrypted iPhone data vault and password manager Strip
and the open source encryption-enhanced database engine SQLCipher
Today and tomorrow I’ll be bringing you some news and updates related to Strip, answering some common email queries, and providing an overdue update on where we’re at with the desktop version. Before I get into the upcoming stuff, however, we could use your help! Strip for iPhone been nominated in the Best App Ever awards, under the Best Productivity Enhancer category. As I know there are a lot of you out there who have quite an affinity for Strip, mind clicking over to the page and voting for us?
Strip – Password Manager & Data Vault…
Best Productivity Enhancer
We really appreciate your continued support and enthusiasm for the platform. Stay tuned for updates!
Having been a big fan of CLERKS and most things brought into this world by Kevin Smith, I was delighted to receive an email this morning telling us that our NSDate category made itself into the credits for the new Kevin Smith iPhone app by DenVog. It’s exactly what you’d expect from Smith — it’s silly, awesome, immature, and well done. I can’t tell you how many times I watched CLERKS in high school, so being exactly that mature still, I downloaded it immediately.
This is my favorite part:
Weekend terror will ensue. None will be spared!
NSDate (Helper) is continually being used in our own Cocoa projects, and I’m constantly mucking with it and pushing new changes to the github project. It’s probably due for a touch of code clean-up.
Since Tuesday’s outage on Tempo, we’ve been working hard to not only prevent that from happening again, but to further improve our system’s response time and optimize our resource utilization. This kind of spring cleaning and infrastructure maintenance was long overdue and took a backseat while we were building out the most recent update.
I’m happy to report, and hopefully you’ve noticed, that we’ve managed to not only stabilize our runaway memory consumption, but to dramatically improve response time over all (go Unicorn!). Now that things have stabilized and in fact improved, we’ll be working to further cut down on memory consumption in our application code. It’s very easy to have memory bloat in Ruby code, because Ruby doesn’t really release memory back to the system, so we’re profiling our code to cut back where ever we can.
As an aside, there’s this great Engine Yard post about memory bloat in Rails apps with pointers for pinpointing problem spots and cutting back. However, I take issue the notion that “it’s not a memory leak, it’s bloat.” That’s a lot of garbage, not returning unused memory to the system is a leak, and to pretend otherwise is a laughable bit of delusion. I agree that it’s important to recognize this as a known flaw of the platform, but to start thinking of it as a feature is probably not a good idea.
Tempo was down this afternoon shortly after 4pm EST due to a nasty memory issue. It’s fixed for now and the service is back up, running nice and snappy, but we still need to implement a permanent fix. Keeping the service available to our customers at all times is exactly the point of web-based software, and we’re committed to providing you the best product possible.
We’ve been running on Nginx-Passenger for a few months now, and been trying to fend off a memory leak that just keeps coming back, and when we don’t catch it in time, like today, it can turn into a big mess. We are dropping pretty much everything to make sure we don’t end up in this position again. We will post an update here once we’re confident that we have a permanent solution in place.
Thanks for your patience, and our apologies if you were unable to access Tempo when you needed it this afternoon.