Technology Kills Deconstructing technology, one piece at a time…

23Feb/1016

Dropbox vs SugarSync

Image representing SugarSync as depicted in Cr...
Image via CrunchBase

Let me start by saying I am a long-time and major fan of Dropbox. Initially I didn't get why it was so great, but then I started using it more and now I can't get by without it. I think of it as my own personal cloud for all my stuff.

But that means you have to change the settings of every single application whose data files you want to keep synced so that it stores them in the folder. What about applications which don't allow you to change their data file location? Creating symbolic links in Windows (easiest in Windows Vista or Windows 7) is one way, but you'll quickly find you need to move the real files into your Dropbox folder and link them to their original location. This is backwards and doesn't seem like a very great idea.

So a few of my applications are synced with Dropbox ( logs, Website-Watcher data, MyLife Organized data, etc) and the rest are somewhere else--usually in my Application Data folder. The situation was not ideal.

Enter SugarSync--I found it while reading a comparison article in which Dropbox was named the clear winner. I wanted to see for myself, however, so yesterday I gave it a try.

Just hours after investigating SugarSync, I became a Premium member and upgraded to 30 GB and I cannot imagine going back to Dropbox.

There are several reasons for this:

  • Out of the box, with almost no configuration, it does exactly what Dropbox does (admittedly, with a few extra dialogs than Dropbox has). You can move everything from My Dropbox into the Magic Briefcase folder and you're all set.
  • You can any folders you want from any of your registered computers with SygarSync, and you can choose which other computers should get that data and where it should be stored.
  • You have a Web Archive--basically online storage that is not automatically synced down to your computers, but is available anytime.
  • There is a mobile app for Android (and iPhone, Blackberry, etc) which gives you online access to your files as well as syncs your mobile camera pictures to your account (which are then made available on all of your computers).

It's stunning what difference the ability to sync any folders makes. Here are some of the things I'm doing with SygarSync now:

  • Sync all of my PC game profiles and saves. It works like SteamCloud but for literally any game.
  • Sync my Benubird library so I have my organized documents available anywhere Benubird is installed.
  • Created a new sync directory called Apps in which I installed the PortableApps.com platform and have been filling it up with portable apps. Now most of the apps I use (and likewise their data files) are synced between my PCs and available from the simple .com menu system.
  • Sync my pictures, videos, and other media files without having to move them somewhere else first and lose Windows' integration with those files.

There is a lot more I haven't discovered yet--but I have uploaded over 16 GB of synced data in the past 24 hours and I am simply amazed at how well it is all working.

From what I understand, they have a fairly agile development cycle and are making frequent fixes and additions, and generally get new features up faster than Dropbox.

I have no less love for Dropbox, but that love is overshadowed by my new infatuation with SugarSync. To the cloud!

Reblog this post [with Zemanta]

1Feb/100

Known Server Issues

No need to inform me about the following server issues, which I apologize in advance for:

  • CPU time to generate some WordPress and Drupal pages is surpassing 30 seconds. I am actively looking into this and suspect it's some sort of VPS issue with queue times. This is my top priority.
  • Caching is not working properly. No pages are being cached on most of my sites. The pages are still working fine, but because of the above performance issue this can become excruciating. I will have caching working properly by the time the previous issue is resolved.
  • Our CDN is not set up correctly. We are using to many of our static assets, for performance reasons. It is correctly pulling most assets automatically, however you will notice some pictures in our posts are , and other links may not work quite right yet. This is being worked on actively as well.

If you have noticed anything other than these three problems, please let me know so I can work on those as well. I am assessing the entire Digital Empire infrastructure which is why things are taking longer than they otherwise would, but the end result should be a more stable, much faster .

Reblog this post [with Zemanta]

1Feb/100

Mint.com Android App Update

Mint.
Image via Wikipedia

As a user and lover of both an Android phone and the Mint.com website, I long for the day when I will be able to use the two seamlessly together (without needing to resort to viewing the full heavy-weight website on my phone).

iPhone users have had a .com app for a while, and all indications are that it's top-notch. Word on the grape vine is that .com are internally testing a new application for their service. A full release is likely coming at the end of Q1 2010, but we will be eagerly awaiting more information from the .com developers to confirm or deny that rumor.

Reblog this post [with Zemanta]

12Jan/100

Apache issues resolved, sites back online

Yes, finally, with a little help from the cPanel team, I got / to rebuild correctly, and my sites are again working properly!

Of course, I am still working on the slowness issue. Even with page caching, Apache and suPHP thrash the CPU for several seconds the first time a large dynamic page is loaded. I'm trying to narrow this down to either configuration or a issue.

I have definitely experienced this before on an over-allocated VMware array, so it's a possibility my web server is just on a busy box. But I'm still things on the server and trying to minimize the load in every way I can, because more often than not these things are caused by configuration oversight or lack of proper (and user naivety perhaps, in my case).

22Oct/090

Monitoring System In Place

In a further effort to make all sites and services in the DE stable and ensure the highest uptime, we have deployed a full-scale at an off- location in Germany.

This means that we can get a full picture of our network and service status at a glance at any time. It also means we are notified when anything goes down, is running slowly, or becomes unresponsive. In addition, we have the ability to automatically bring things back online and resolve some issues without having to wait for me to fix them.

This is a big jump forward for our network infrastructure, and this means we are now running four full network servers in four different datacenters spanning three countries to provide our sites and services under the highest quality and most ideal circumstances.

Let me know what you think! Have you noticed a difference in any of our sites and services? Is there anything you'd like to see, or any changes you'd like made? We'd love to hear from you!

Reblog this post [with Zemanta]

15Sep/090

Windows 7 Missing Start Menu Items Fixed!

After installing a small utility which added a Start to my Windows 7 RC machine, suddenly my All Programs collection in the went blank.

At first i thought the utility had somehow deleted all of my Start Menu items, but that was not the case. Items could still be searched for and launched that way in the start menu, but not browsed for by clicking All Programs.

I found this post over at Greg's Cool Thing of the Day blog which describes a "fix" (moving some of the items into one or more ) which worked perfectly, and all of my Start Menu items have returned.

Thanks, Greg!

8Sep/090

FOMS 2 Development Help

I am almost finished with FOMS 2 Alpha 2 (Keep an eye on falloutmodsorter.com for details), but it's been requiring more time than I have available to give it.

If anyone is interested in assisting with FOMS, here are the things I most need assistance with:

  • - preferably in .xaml format (eg. MS Design), but  .ai (Adobe Illustrator format) is fine too.
  • Icons - FOMS has one -- it needs more themed icons for its various components
  • Website work - falloutmodsorter.com needs a of work on its theme (css and graphics), and a webmaster or who can help me keep content fresh, manage the "community" (non-existent so far), etc.
  • Marketing/advertising - FOMS 2 is open-source and will always be free, but we still need to let people know it's out there--without a large user base, FOMS can never grow to the one-stop 3 mod sorting application it could be.
  • C# and/or XAML (WPF) coding--I'm currently doing everything in this field, but it is taking up all of my time and not allowing me to focus on any of the other aspects of the app (see above)

On another note, plurliquid is doing a great on the so far, and it will make its official debut in FOMS 2 Alpha 2. This has given me a lot more time to work on the and get FOMS ready for the next release.

You will be seeing the new release very soon (as usual, several weeks late)!

8Jun/090

DOM and SAX and File Streams…

Sometimes I up starting at my screen and wondering, is it worth coding all of these advanced libraries for something as high-level as ? Will people understand such “cryptic” functionality who are used to simple Batch-like commands?

Regardless, I’m doing it… here are some :

  • Interfaces: complete
  • DOM Level 3 Core Module: complete (in testing)
  • DOM Level 3 Load and Save Module: in development (waiting on )
  • SAX 2 Interfaces and : complete (in testing)
  • SAX2 XMLReader : in development
  • File class (with Windows function wrappers): in development
  • File Stream Support: in development

As you can see, there’s a to be done—but just having the core DOM complete (per se) is enough of a driving factor to keep me going with everything else…

The XML parser (XMLReader implementation) is turning out to be a bit complex, however.

I’ll post links to and discussion as they become available.

24Apr/090

Portland, the city of weirdness

Well, my and I finished our move to , OR. So far we're having a great time in the and exploring around the neighborhood.

Now that I'm back at work again, and actually working from the office, I'm anxious for the weekend to get here. I have a of work to finish up.

FOMS (The Mod Sorter) is being rewritten, as I've said, and as a I'm working on completing my in . Expect that next week, and hopefully a new FOMS version shortly thereafter.

After that, and several other currently in-development AHK classes, hopefully my heavily-neglected and SteamLab rewrites will be underway.

Look for more news about that soon.

2Mar/090

Object-Oriented Scripting (OOP or OOS)

Programming languages have been using Objects for . Popular languages like Java are heavily based on the concept. Lately, scripting languages have also been swooping in and picking up aspects of Object-Oriented Programming, integrating them into their own language.

The problem is that many scripters don't have a good grasp of what (Object-Oriented Programming) really involves, and admittedly it can seem like a daunting concept to the newcomer. This short explanation and tutorial will explain exactly what means, and how to use it in everyday scripting tasks.

--

What is an object in real terms?

The : anything and everything

I like objects. The world is built with objects. In fact, you could think of every  in the world, including the world itself, as an object. In fact, this is the basis of OOP. It is modeled around the concept of objects and their interactions with each other.

Look at it this way: The screen you're reading this on is an object; so it its Power button. So is the chair you're sitting in. You're an object, and so is your nose, and your left thumbnail. The ray of light that is (or was) shining in your window is (or was) an object. That car driving by by was a passing object. So were its wheels, and its left fender, and its passengers. Each rain-drop, , or ice-ball falling from the sky is an object.

manufacture objects. But the factory itself is an object, too. So is each piece of machinery used to create the objects, and each of the workers that run the machinery. The ground the factory is built on is an object, and the whole planet itself is an object, along with each of the other planets, stars, and out there. Hell, you can even think of as an object.

 

But if they're all objects, what makes them different?

The short answer: attributes

Simply put, each object has certain properties, or attributes, which describe it. For this document, attributes and properties can be considered the same thing.

Think about a person's attributes. They might have brown hair--that's an attribute (a property that describes them). Their hair may be long--that's another attribute. They may be generally nice (a property that describes their behavior). They may prefer a certain brand of clothing, or enjoy a certain type of food. They might have high aspirations for the future, or think that we're doomed because of today's financial crisis. Those are all properties which describe a person.

Every object has properties. A car has a color, a shape, a number of cylinders, certain features are either available or unavailable in certain models... the list goes on. The planets are round. The sun is bright. The sky is blue. The winter wind is cold. The rain is wet, and transparent. Every object can by described by listing all of its properties.

Obviously, for real world objects this list of properties can be ridiculously extensive. In programming terms, it is usually manageable. But this is how objects in OOP are described.

If you have an Invoice object, it might have the following properties:

  • seller
  • buyer
  • items
  • subtotal
  • tax
  • shipping

Notice that most of the things you would normally see on an invoice are there. That's because they're part of the invoice--they describe it. That invoice wouldn't be that invoice if it didn't have that exact seller, or that exact buyer, or subtotal. That's what makes it a unique invoice.

But not everything on the invoice is necessarily a property. Notice there is no total property defined. That's because the total changes depending on other things--subtotal, tax, and shipping. Since you already know those three things, you can instead instruct the invoice to add the three fields together and calculate the total. We'll cover that next.

 

So you have all these colorful objects, how do they actually do what they do?

The short answer: methods

Your neighbor's drive to work every day is a method, or function. Their car merging into another lane in traffic is a method. Every action performed anywhere can be thought of as a method. In fact, often the term action is used instead of method, which makes the concept even easier to understand.

Every object has (or doesn't have) one or more methods (actions) it can perform which allow it to do what it does.

When you walk to the store, it could be described in programming terms by a call to a mythical walkTo("Corner grocery store") function. The sun might be performing a shineOn("Earth") function right now, just as the earth may be performing it's rotateOn("Axis") and rotateAround("Sun") functions at this very moment. NASA has been performing a goTo("Mars") method for an extraordinarily long time.

You see, a method, or function, could describe every action performed--anywhere--by anyone--ever.

This is how objects in OOP perform actions. Let's take our Invoice object example from above. It needs some actions, too:

 

  • calculateTotal() - this will figure out the total to print on the invoice
  • send() - This will send the invoice

 

So what the hell's a Class?

Think of it as a template for a single object. A wrapper that describes a generic object. It defines what properties an object has, and what methods an object can perform.

The class is how your program or script and make use of the object. For our Invoice object, we would have an Invoice class that defines what an invoice is.

When your program creates an invoice, it might look something like this, in pseudo-:

myInvoice = new Invoice

We now have created an instance of the Invoice class, meaning we have created a new object that represents a single Invoice. 

Now, let's set the invoice properties:

myInvoice->seller = bob smith
myInvoice->buyer = gordon freeman 
myInvoice->subtotal = 10.00
myInvoice->tax = 0.00
myInvoice->shipping = 5.00

The invoice is no longer a generic invoice. This is now a unique object that has the properties youv'e given it.

So now you have an object sitting there. How do you use it? You access its methods. Again, in pseudo-code, you might do something like this:

myInvoice->calculate() - determine and save the total
myInvoice->validate() - make sure the invoice is proper
myInvoice->send() - send the invoice to the recipient. 

Normally there would be more, and more useful, actions than this, but hopefully you get the gist.

Is that it?

That can be it. With that concept of objects, you can start with a tutorial in your OOP language or package of choice. There are many, many more advanced topics to get into, but that is for you to discover as a new Object-Oriented .

So go program with objects, you object!