Saturday, May 11, 2013

AnyBackup 1.0.0 Released

It's been about a year since I last did anything with AnyBackup -- that's not because I lost interest, but rather because it'd simply been working and did everything I wanted it to.

I finally mustered up some motivation to make some improvements, though. I spent the last week straight overhauling the codebase. I unit tested all the major non-UI modules and while I was at it I refactored all the code for sanity and for PEP styling issues. This took way, way longer than adding new features (not surprising).

Since it's been a year I figured why not do this in style and make this a milestone 1.0.0 release.

Changes:

  • Unit tests (hopefully less bugs and less breaks in the future)
  • Display transfer rates and total copy progress
    • It's a little rough, and transfer rates are calculated in a very naive way, but it's better than nothing
  • Warn users when a backup is going to delete old files from any backup drives
  • Proper threading model
    • Previously threads were killed on demand via a nasty kill/hack and it did not ensure consistent data, etc
    • New model nicely requests thread death and long running thread processes have been refactored to comply
  • Code clean up, PEP style conventions
  • Migrate from Pyro3 -> Pyro4
    • Pyro4 has async calls which is needed for the proper threading model mentioned above

Wednesday, May 1, 2013

Metro 2034 - English Fan Translation

Word on the street (or rather the Last Light forums) is that there's going to be an official Metro 2034 English translation released. Well... the rumor has it that the translation was already supposed to be released. Obviously that hasn't happened yet. This rumor began circling unbeknownst to me, otherwise I probably wouldn't have bothered finishing what I'm about to post here.

But without further adieu, I give you a cleaned up version of Metro2033Artjom's fan translation of Metro 2034!

There are some pretty big caveats:

  • It's no more accurate than the original fan translation (probably a good deal less so)
  • There were a few sentences I couldn't make heads or tails of so I scrapped them
  • I may have butchered a passage here and there thatI thought I understood
  • It's probably been colored/influenced/altered significantly by my style and humor
With that warning out of the way (and if you're still reading) I'll get to the good bits. I cut out a staggering amount of awkward phrasing and confused verbiage. (And probably introduced a few of my own, but shhhh... were't not talking about that!) I tried to throw in common (American) English idioms where I could and rearranged sentence structures that tweaked my brain. I may have had a little too much fun with Leonid's dialog in places, but what can I say? I like the character.

If you think my copy is crap (hey it's a free internet... or not, depending on your country) feel free to peruse the original fan translation here. I take no credit for this original translation, just the subsequent editing and interpretation I provide here. It was translated to English from the official German translation. If you're wondering what that can do to literature... I'll let this video do the talking:



Anyway, as I'm sure you've skipped everything above, here are the download links:


Let's all hope they actually do release an official English translation. I've got my fingers crossed!

P.S. To any lawyery-types. If there are copyright concerns here, please contact me, it was not my intention.

Friday, June 8, 2012

AnyBackup 0.9.6 Released

Hot on the heels of 0.9.5, I've released 0.9.6 to address some immediate deficiencies resulting from the major overhaul of the underlying application.
  • File cache layer between SQLite and AnyBackup
    • This addresses the lag the can occur when browsing an indexed drive, especially when you have > 100k files across all indexed drives
  • Improved search dialog making use of the new SQLite backend
    • Search by drive
    • Specify search type: Contains, Ends with, Starts With, or pass in a SQL string (i.e. %.mp3)
    • Specify file type (directory or file)
    • Search dialog is persisted so your input is saved (unless a drive is added or removed -- then the dialog is destroyed and recreated)
  • Clicking on a result file no longer automatically displays it in the content pane, instead this has been moved to a popup menu option
  • Changed remote indexing port to not conflict with standard XVNC port
AnyBackup 0.9.6 -- As always please note that these are all items I own or have bought in one form or another -- don't sue me. :)
The new search dialog in 0.9.6

The new 'Show In Content Panel' option

Tuesday, June 5, 2012

AnyBackup 0.9.5 Released

I've made a lot of changes since 0.9.4 in November last year. I put 0.9.5 up for download tonight, enjoy!

Major changes:

  • SQLite
    • Super fast
    • Less memory usage
    • Comparable disk usage
    • More flexible
    • Externally accessible
  • Many minor bug fixes
  • Complete / consistent icon pack
  • Backup sets
  • Thread crash detection
  • Logging to homedir so may work on UAC enabled machines
    • Super strict UAC settings seem to deny access to network drives, so if you use network drives like me you still might have issues

Not that I've heard from too many people on the app before, but as always, if you hit issues, don't hesitate to let me know or file an issue on the Google code page.

Sunday, June 3, 2012

AnyBackup Upcoming Release

For anyone out there that uses AnyBackup, if anyone out there does beside myself and family -- there have been over a thousand downloads but that says nothing about actual usage, I've not abandoned the project. I just haven't had time recently to do much. I spent a lot of time this weekend, however, revamping it. Some of the biggest changes are under the hood, I've totally changed how data is stored which necessitated moving and rewriting a great deal of code.

Major Changes:

  • Moved to SQLlite as a backend
    • Generally more performant than the proprietary mishmash of objects currently in play
    • Doesn't rely on pickle
    • More flexible
    • Data can be viewed / accessed outside of AnyBackup
      • Probably not super useful for most people but if you had a reason to want to get at this data, it's now very easy
      • It's also very useful for troubleshooting
  • Click & Drag functionality from AnyBackup
    • You can now click and drag files displayed in AnyBackup and drop them in folders, drives, your desktop, etc
      • The above is only true if the files reside on a drive that is connected, of course
  • Right click or double click on files to show in explorer
    • If you double click on file x.txt AnyBackup will launch an explorer instance with x.txt highlighted
  • Modified Time is now displayed in file tables in addition to size and name
  • Search now uses sql syntax instead of regex (necessitated by the switch to SQLlite)
  • Sets now supported
    • This was a feature that really didn't mesh well with the legacy code base so I hadn't gotten much further despite taking a few different approaches
    • Each set is completely independent of any other
    • You can have multiple identical sets if desired
      • i.e. if you want to do rolling backups with different sets of backup drives against the same content drive(s)
    • There's a new toolbar which lets you switch between sets
  • A few optimizations here or there to avoid slowing down on SQLlite queries
  • Thread crash detection
    • Previously thread handling really sucked (it's still pretty messy) but it was so bad a thread could crash and the gui wouldn't recognize it thus leaving the gui continuously displaying the scrolling progress dialog as if the process were still running
    • When a thread crashes now this is recognized and the error is popped up in a dialog box
Look for this revamped version to be up for download in the next week or so.

Thursday, April 5, 2012

Peer To Peer Lending - Month 3

This is my third monthly report for my peer to peer lending.

In terms of late and defaulting notes, Lending Club is, quite bluntly, kicking Propser's ass. Now I should point out that it's not exactly an apples to apples comparison as I have some riskier notes in my Prosper portfolio compared to Lending Club. That said, the notes that are likely going to default on Prosper would match my tighter filters on Lending Club. Let's review!

Prosper:
Note the build up of late notes!




Payments received:$693.89
Principal paid off:-$480.55
Payments in excess of principal:=$213.34
Principal charge-offs:-$0.00
Gain/loss to date:=$213.34


Principal value of active notes:$5,119.45
Total active notes:203 
   Current:196 
   Past due (1-30 days):
   Past due (31+ days):
   Payoff in progress:
Total charged-off notes:
Total notes paid in full:
Total notes sold:0  

Account value as of writing: $5,216.84


So how are we doing? Well, I've got four notes now that are 31+ days late. I'd be very surprised if any of them pay off. But surely all these notes that are delinquent must be high risk, right? Not really, and that's the rub.

The break down of these four notes: 1 B, 1 D, 1 E, and 1 HR. None of the notes had an delinquencies in the last seven years. One of the notes has a public record in the last ten years (which I've subsequently removed in my filter now). One common thread between these notes is that they all have 1 or more inquiries in the last six months. I've brought my Prosper filter inline with my Lending Club filter now and cut out borrowers with inquiries. This probably cuts out a portion of good notes, no doubt, but at the same time the largest chunk of loans are for consolidation and it makes a simple kind of sense that a good candidate for a consolidation loan should be looking to pay down their current credit lines, not take out new lines. (Yes, I realize things other than a credit line can register inquiries -- as I said, some good notes will get cut out with this broad sweep.) That said I'm only looking to reinvest payments, so I don't need a large volume of loans and can afford to be picky.

I fully expect these four loans to get charged off, they represent $150 in principal outstanding minus a small amount of payments received = $147.67 projected charge off. If this comes to pass my profit will be knocked down to below what my Lending Club account has brought in with less time under its belt.

Lending Club:




Account value as of writing: $5,136.79


My Lending Club account is doing great. All my notes are current. I have not had one note where a borrower has taken the money and walked away, which has happened to at least three notes on my Prosper account. If Lending Club offered an autoinvest option (based on your custom filters and with < $25k invested) I'd say there was no compelling reason to use Prosper based on my experience so far. Even so It's likely that even with a three week handicap losses will mean that my Lending Club account ends up coming out ahead of my Prosper account in earnings.


See the first update.See the second update.

Thursday, March 1, 2012

Peer To Peer Lending - Month 2

This will be my second report on my foray into the world of peer to peer lending. I've had some more time to get used to Lending Club and Prosper and I've noticed a couple other interesting differences.


  • Lending Club only posts payments that have passed, Prosper shows money in your account as soon as a payment is initiated -- but that money will be disappear if the payment fails!
  • Sometimes money from a loan pay off can temporarily disappear -- that is the money disappears from your current note value because it has entered payoff, but since it hasn't been processed they don't display it in your cash balance -- which is the exact opposite of how they handle normal payments, talk about inconsistency

So, down to the meat of the matter, how are the accounts doing after another month? To say the least things have been eventful. As I related in my previous update I have a loan that was late. Since then I've had several others enter the 1-15 day late area on Prosper and most were subsequently brought back up to current. Sadly the original late loan is still late and has entered collections. I have $50 on this note. (I double invested on it due to user error.) I also have another loan which is in the 1-15 day late period.

Prosper:

Payments received:$352.43
Principal paid off:-$248.85
Payments in excess of principal:=$103.57
Principal charge-offs:-$0.00
Gain/loss to date:=$103.57

Principal value of active notes:$5,101.15
Total active notes:196  
   Current:194  
   Past due (1-30 days):1  
   Past due (31+ days):1  
   Payoff in progress:0  
Total charged-off notes:0  
Total notes paid in full:5  
Total notes sold:0  
Account value as of writing: $5,107.07
*According to lendstats the expected loss on a loan which is 1 month late -- like one of the above -- the expected loss rate is 80%.

Lending Club:




Account value as of writing: $5,061.97

See the first update.
See the third update.

Followers