ZIPing a self extracting ZIP does not make it smaller

July 31, 2008 at 10:28 am | In Stupidity, technology | Leave a Comment
Tags: ,

I have been witnessing the stupidity of people putting their self extracting ZIP files into a ZIP file for years now, and it still pisses me off.

If grouping files together then ZIPing them up in “no compression” or “archival” mode may be useful, but that is it.  A single lone file?  Pointless!  (And yes, I will explain why at the bottom of this post!)

Here is a list of other things that do not belong inside of ZIP files:

  • Any other compresses sound or video file
    • MP3
    • AVI
    • MPEG
    • MPEG2
    • WMV
    • etc
  • Any file already compressed with another compression program
    • JPEGs
    • RAR files
    • .ACE files
    • .7z Files

The reason for this is actually easy to understand.

Imagine taking a piece of paper and folding it up really small so you can fit it in a really tiny envelope to mail off.  You fold the paper up as small as you possibly can, and put it in the envelope.  The paper is your original data file and the envelope is the ZIP file.

Now imagine trying to take that envelope with your paper inside of it, already folded up as tight as possible, and putting it inside another envelope.  You cannot fold the paper any more, so nothing is any smaller.  In fact by adding another envelope you have actually made your package larger!  It is only a little bit larger because an extra envelope is not all that thick, but it still is larger.

This is exactly what happens when you try to ZIP a ZIP file, or any other type of already compressed file.  In some cases when you ZIP up a compressed file of some other type (e.g. JPEG) you may save a little bit of space, typically a a kilobyte or two if it is a really huge image that is in the megabyte range, but the time it takes users to open up the ZIP file and hit ‘extract’ is longer than it would take them to download the extra few kilobytes.

This seems like only a minor annoyance, but it because a huge pain when some fools who should know better put huge 2GB+ self extracting game demos inside of a ZIP file.  They save maybe one megabyte overall (if even that), but it can take 15-20 minutes to extract their stupid EXE, which then takes another 10-15 minutes to extract the installer.

Bonus points go to the real idiots who do all of the above, and then their installer is itself a single compressed setup.exe when when run then extracts files to a temporary directory before copying them to their final location.

2GB ZIP -> 2GB self extracting EXE -> 2GB Setup.exe -> 2GB temporary files -> 4-5GB installed game

And that is why the tag stupidity is on this post!

Towne Pointe Pulls Listings

December 31, 2007 at 3:14 pm | In Life in general | Leave a Comment

Towne Pointe, the very nice (if someone traditional) condo project just a stones throw away from downtown Redmond, has either taken down almost all of their listings or have sold all of their remaining units (spare one) over the holidays.  For posterity, and in case things change, I have captured a screen shot of Condo Compare’s listing for Towne Pointe units.

image

It is interesting that more and more agents are just completely pulling listings down.  Relisting houses and condos is of course quite common (though annoying from the buyers perspective), and it will be interesting to see if Towne Pointe relist their units sometime soon, e.g. before the “spring rush”.

Of note, Towne Pointe has not sold any units since August 2nd (and I would really consider that a July sale), as can be seen in the King County Records for the complex.  Simply checking the sold date on each unit shows they had a burst of sales between June and July and have had nothing since, a story that many real estate agents are becoming familiar with.

Note:  Some portion of King County’s website is down right now (3:34PM Dec 31 2007)

The Cleveland

December 29, 2007 at 7:15 pm | In Life in general | Leave a Comment
Tags: , , , ,

My girlfriend Lila (who already has an excellent post about The Cleveland) and I went to visit The Cleveland in person today.  It was late in the day, raining, and we had just finished up visiting another project.  Still, we learned some valuable information and got to see the room layouts in person.  I have to say that they look bigger in person than one imagines from the floor plans. 

After coming back home, we again went over the numbers we had gathered about The Cleveland, looking for some more patterns or discrepancies.  Comparing the price of identical floor plans on the resale market to that which the builder is selling, we found something that makes perfect sense but still made us quite peeved.  The two prices are identical!

  1. Let us compare units 513 and 506, identical floor plans on opposite corners of The Cleveland.  Looking at the sales history for unit #513 and the asking price for unit #506, we see that unit #513 sold for $394k in early July, and was then resold for $467k.  The price the builder is asking for #506?  $467k!  Yet obviously anyone could have gone there back in July and bought it for around $394k.

Normally this would seem like common sense behavior, if you sell something for X, and the guy next store can sell it for X+1, you need to raise your price, you are selling too low.  But this is not the situation with condos right now, instead I would argue that the $467 price was inflated by a bubble and that the original price should still hold true.

The lesson here is to always do your research and to be an informed buyer.

Why is there Carpet in my Dining Room?

December 9, 2007 at 8:39 pm | In Life in general | Leave a Comment
Tags: ,

dynamic_imageCAZBJW7O

Not naming names here, because a ton of condos do this.

At least the unit posted above does not have white carpet in the dining room area.  I have seen what happens to white carpets in dining rooms, and it is not good.

Also, any chance I can get some cabinets made in this century?  Thanks!

Dumb Plans Post 1: Trio Seattle

December 9, 2007 at 8:24 pm | In Life in general | Leave a Comment
Tags: , ,

One danger of looking around at condos is that one will inevitably lose their faith in humanity as they see stupid floor plan after stupid floor plan take up precious human living space.  Even scarier is the knowledge that someone will buy these units, not knowing any better, and have their quality of life decreased by living in a poorly designed space.

The first such example I will post is from Trio.  To be fair, Trio has a number of good floor plans, but the following is not one of them:

image

The first item that is noticeable about this 1×1 condo is the size of it: almost 870 sqft!  When I first saw this, I was sure it would have a den or office somewhere in the floor plan.  Unfortunately I was quite disappointed when I looked closer.  What could have easily been a luxury 1 bed 1 bath unit has instead turned into yet another waste of space in Seattle.  I admit that this floor plan might be perfect for someone with a large art collection they want to show off, but otherwise it seems to me that the huge entrance area is wasted.  I have to keep asking myself:  Who thought that a 1×1 condo needed a foyer?

As for fixing this mistake, I guess some portable walls could be put up to make something resembling a den.  For a buyer who doesn’t care, it is always an option to have their computer, bills, papers, and office supplies be the first thing to greet visitors stepping into to their home, but for anyone else, a properly secluded home office or den is appreciated.

I also cannot understand that laundry room.  How much dirty cloths can one or two people have?

Even sadder are the possibilities of what all that space could have been used for.  Instead of the entrance being taken up for sheer nothingness, the bathroom could have been extended and possibly had a full 5 piece bath set installed.  in the least, dual sinks or a large Jacuzzi style tub could have been put into place.  The bathroom could be also be shifted down a bit and the large walk in closet enlarged.  Making part of the laundry room into a nook is a potential use for it, but paying bills or writing blog entries is not going to be easy when sitting right next to a running washing machine or dryer.

Part of the units problems are due to lighting.  Because there is no way to get light to the back of the unit it is not feasible to place a second bedroom anywhere.  On the other hand a den or office does not require the same lighting that a bedroom does.

Trio Seattle

For once, I want good integer subtyping!

June 3, 2007 at 6:00 pm | In Java, Programming | Leave a Comment

I am using an integer ID in parts of my program, I want to ensure that the ID is an actual ID that I have returned.  In a strongly typed language that also has a well fleshed out subtyping system, this would be trivial!

subtype AlbumID is long

The benefit of course would be that I could keep track of my AlbumID types and not have to worry about anything else!

Now the proper Java way is to make a new class called AlbumID that has a single long field and…  bleck!  I just want compile time checking darnit, I don’t need anything instantiated.

I just had an orthogonalization epiphany

June 3, 2007 at 5:18 pm | In Life in general | Leave a Comment

My Album class is now making a call to the AlbumManager class, because I cannot ensure that users of the library will always call the correct function from AlbumManager.

Now, remembering back, I realize I have seen the Java API do this before on occasion.

Awesome use of issue tracker’s “attach file” feature

May 8, 2007 at 2:27 pm | In Java, Programming | Leave a Comment

I have discovered an awesome use of the “attach file to issue” feature that most issue trackers support.

.swf repros of issues.

The open source <a href=”http://www.camstudio.org/”>CamStudio</a> program comes with SWF Producer.  Nativly CamStudio generates .avi files, but hey, why stop there?  AVI files are a pain in the rear to get working cross platform*, so I convert them to .SWF, which is not only smaller (No clue as to why that is!) but work on all platforms.

Kind of sad that it took Macromedia (now Adobe) to unify cross platform video, but hey, whatever works!

The only issue I have run in to so far is file size limitations, the issue tracker being used over on java.net only allows files up to 1Meg in size.  Luckily my Video-Kung-Fu is good enough that I can get most videos under that size, but I do not really expect other people on my team to be able to pull that off.

* Or even cross computer, who knows what codecs different team members have installed.

AJAX, Canvas, Python, and Web 2.0 goodness

February 26, 2007 at 3:26 pm | In AJAX, Javascript, Python | Leave a Comment

Ever had to find your way around a huge college campus? How about ever been late for a class or meeting on a regular?

AJAX to the rescue!

WWU Route Finder is a proof of concept of an AJAX map using Canvas and Python. Click two buildings, and the Python back end, accessed using XMLHTTPRequest of course, shows you the shortest path between your start and destination.

The biggest advantage is that the Python back end can access a highly optimized Graphing library and potentially support real time processing of hundreds of thousands of nodes, taking advantage of the server hardware and not relying upon the performance of a browser’s Javascript engine.

Update:  fixed broken link.

My Project: Status Update 3

January 8, 2007 at 11:44 am | In My Project | Leave a Comment

Actual implementation has begun!  Going along quite well.  Having a design to work from is really helping me avoid stupid mistakes from the get go.
Items to Accomplish       /    Percent Complete

  • Choose Platform:  100% (Done)
  • Setup Platform: 100%
  • Choose libraries:  95% —
  • Integrate libraries into project: 65% — Most libraries are currently in use, one still needs to be integrated.
  • Program base algorithm:   65% — Methods are in place, and most of the program logic is there.
  • Choose test case:  45% — About half the test cases have been decided upon.
  • Program test case:  5% — Stubs in place to latch on to for performing tests.
  • Choose performance measurement tool: 15% — Additional research has been performed.
  • Integrate performance measurements:  0%
Next Page »

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.