Wednesday, September 30, 2009

Views on Macs from a longtime PC

I now use a shiny new MacBook Pro because of a recent job change. I've used PCs and Linux exclusively since our family's LC III died years ago. I'm not a hardcore Windows guy, but I really like the Ubuntu Linux distribution which we used at my last job for development.

I've got to admit the Mac hardware is very sexy and there is a lot of eye candy in the OS. I do prefer the Mac built in shell to the Windows command line shell (but putty more than gets the job done). The problem I have with it is that it still has a lot of the problems of Windows. Bad client programs that require frequent rebooting (especially our VPN software) and a lot of pain in the ass driver issues if you want to use non-Apple hardware (like a keyboard that doesn't make your wrists hurt). My Linux box at work had uptimes in months and I'd only reboot if the power at my building went out (which happened more than you'd like) or I wanted a new kernel. I find myself rebooting way too many times to solve problems in various programs (but the kernel seems quite stable).

Also, it is clearly inferior to Linux as a development environment. Its "Activity Monitor" tool looks horrible and needs some visual improvement. You can't set your mouse to give focus to whatever is under it (you have to keep clicking on windows to activate them). Linux (and I'd even say Windows) is much more configurable. Much like Windows, you don't have a suite of developer tools that just work out of the box.

So I think my conclusion is in my ideal world, I'd take the Apple hardware, wipe it and put Linux on it :). I'm hopeful that Snow Leopard will grow on me. I'm also not going to switch out my home computer anytime soon.

Labels:

Tuesday, February 17, 2009

Adware and programmers and scheme, oh my!

A few clips for an interview with an adware author. These probably won't make much sense unless you are a computer science major, but provide a lot of interesting insight into how you ruin someone's Windows machine.

About Scheme:

S: You wrote adware. You bastard.

M: [sheepishly] Yes, I did. I got to write half of it in Scheme, which probably means that I deployed more Scheme runtime than anybody else on the planet.

About IE:

IE has a mechanism called a Browser Helper Object (BHO) which is basically a gob of executable code that gets informed of web requests as they’re going. It runs in the actual browser process, which means it can do anything the browser can do– which means basically anything. We would have a Browser Helper Object that actually served the ads, and then we made it so that you had to kill all the instances of the browser to be able to delete the thing. That’s a little bit of persistence right there.

(Warning, even more technical) About writing invisible registry keys:

We did create unwritable registry keys and file names, by exploiting an “impedance mismatch” between the Win32 API and the NT API. Windows, ever since XP, is fundamentally built on top of the NT kernel. NT is fundamentally a Unicode system, so all the strings internally are 16-bit counter Unicode. The Win32 API is fundamentally Ascii. There are strings that you can express in 16-bit counted Unicode that you can’t express in ASCII. Most notably, you can have things with a Null in the middle of it.

That meant that we could, for instance, write a Registry key that had a Null in the middle of it. Since the user interface is based on the Win32 API, people would be able to see the key, but they wouldn’t be able to interact with it because when they asked for the key by name, they would be asking for the Null-terminated one. Because of that, we were able to make registry keys that were invisible or immutable to anyone using the Win32 API. Interestingly enough, this was not only all civilians and pretty much all of our competitors, but even most of the antivirus people.

Labels: ,

Thursday, October 23, 2008

PHP time

Given that a bunch of my friend have their websites written in PHP, I decided it was time to learn some rudimentary PHP to accomplish some basic server side goals while working on the Bush League of Nations website. We wanted an "email this page" system and I figured that PHP is going to be the easiest way to accomplish that.

On Wednesday night, I was at a talk by PHP creator Rasmus Lerdof at Yahoo!. He is one of those engineers who has the right combination of laziness and brillance that he'll build a tool to fill a problem. He's lead a wild life from birth in Greenland to Denmark, then Canada, a few years in Brazil and then to PHP. His life proves that you don't need to know where you are going or have any plans at all.

Rasmus had some good points about why people contribute to open source projects and how open source projects are very similar to the 2.0 web in the sense that users supply most of the content and that these users are driven by 4 things:

Self intrest
Building their recognition
Hormones
Trying to change the world

Maybe this isn't the most accurate list of 4 things that drive people to network on the web, but he made some good points. He attributed the success of PHP to completely solving an important problem, having lots of first class documentation, and allowing contributors to have latitude in how things are implemented.

I have to admit, this talk helped inspire me to get the PHP work done! So go to the Bush League of Nations site and start emailing your friends!

Labels:

Sunday, September 21, 2008

Make your Windows machine easy to reinstall

I'm a PC, and I got myself PC in a bad state. There is a virus going around at work and I seem to have gotten it. Then when I edited my registry, I horked myself badly to the point where the only resolve was ritualistic sacrifice and rebirth.

This is the second time I've re-installed this machine and it was much simpler this time because I have a data partition that is not the same as the Windows boot partition. That way, I can keep all of the data on the data partition and blow away the operation system. Once the OS is re-installed and patched, I simply re-install all of my programs and I'm good to go.

I'd recommend this setup (at least for Windows XP):

Take your drive and carve it into two partitions when you get a new machine, a 20 GB partition for installing Windows and whatever is left for the data part of your system. Store all your files (music, movies, software, files, whatever) on the data partition. Just keep OS things on the Windows drive and treat this drive as temporary.

If there is a failure/spyware/virus/etc, then don't bother fixing it if you think it will take you longer to fix it than re-install Windows (regedit is probably the most terrifying program on a Windows machine). You can think of reinstalling Windows as your 30k mile checkup. Starting over from scratch clears all of the garbage you've aquired over the years and gives you a fresh start.

Note: I'm not going to pretend that reinstalling Windows is a trivial thing to do if you aren't in the industry, but neither is dealing with a sick Windows machine or having to buy a new computer everytime things get ugly.

While you re-install your machine, you can watch I'm a Mac ads on your laptop and wish you spent another $2k to be virus free.

Labels:

Sunday, July 13, 2008

Firefox 3: Much faster HTML rendering

According to the the user tracking software I use for this site, more than half of you users use some kind of Firefox. If you don't use it, you should check out the latest version of Firefox that has been released in the past month.

If you've never used anything other than Internet Explorer, its probably worth experimenting a bit. Installing a new web browser is as easy as going to a website, downloading some software and installing it. There are various comparisons between browsers as well as some picture based browser comparisons.

I've slowly migrated from Firefox 2 to Firefox 3 on my various Windows machines at work and home and I'm happy with the changes.

The major new feature that I'm happy about is faster HTML rendering. Pages appear much faster than they did with version 2. Firefox 2 also used up tons of memory (and it likely was wasteful with this memory consumption). Pages appear at least a half of a second faster per page than they did with Firefox 2. There is also a nice new user interface with pretty buttons.

Happy browsing. If you haven't upgraded yet (and almost 80% of you Firefox users have not), click through and enjoy the painless upgrade. If you are still and IE user, give open source web browsers a try and download Firefox!

Labels: ,

Friday, June 27, 2008

Dell Desktop Buying Guide

While I'm not a big fan of their laptops, I do really like Dell desktops. A few days ago, a friend asked me about buying new desktops, so I'll do a brain dump here.

Dell desktops are well constructed, run quietly, are cheap and customizable.

Dell boxes can be opened without tools and all parts can be replaced without tools. The innards are easy to find and replace and they have good thermal dissipation to keep everything from getting too hot. They also are quiet, so they can be run overnight without keeping you awake.

Dell desktops have very aggressive pricing because they sell them on the web. They also have a lot of coupons that can allow you to get free upgrades, free shipping, or a percentage off of your purchase.

Finally, what I enjoy the most is you can fully customize your computer. Instead of having a few models to choose from, you can get more memory and less processor if you want. You can add a BlueRay drive if you want. I like the flexibility as a consumer, but I can understand how less computer-oriented people may find that customization as a way for Dell to up-sell one extra feature after another.

The obvious drawbacks from buying a computer online are the lack of instant gratification and the pains you experience to get support over the phone. These issues don't really bother me because I'm my own tech support and I'm fairly patient by nature. That being said, if you want to scare yourself with Dell customer support horror stories, you can check out this page of Dell customer experiences. Most of these are written by not so computer literate people who don't like having to debug their issues over the phone, but if that sounds like you, maybe you should head on down to BestBuy or another brick-and-mortar retailer.

To supplement this post, be sure to check out this Dell buying top 5 list. I was going to write up more or less that post, but Dealhack does a good job of summarizing how to optimize your purchase from Dell (or any other hardware manufacturer). Its amazing what you can find when you do a Google search for "[Company I'm buying from] coupons" right before you check out.

Labels:

Saturday, June 21, 2008

AMD Laptop Follow-up: HP Pavilion dv2810us

After the AMD Laptop Buying Guide post, we finally went to Fry's and got a laptop. In the end, the selected machine was an HP Pavilion dv2810us. It had several features that were not covered in the first AMD laptop guide.

Size:

When you buy a laptop, you really have to try out the actual one you'll buy or else concepts like how big it is and how much it weighs are hard to grasp. The standard laptop size is 15.4" widescreen, which works out to about 6 lbs. The dv2810us has a 14.1" screen that reduces the weight to just north of 5 lbs. I've always purchased 14 inch laptops, because a 15.4" laptop is pretty big and weighs enough to hurt your shoulder. My friend quickly came to this realization too and she could narrow her focus down to the 14" and below models.

Webcam:

My friend uses skype to keep in touch with friends in other countries. Having an integrated webcam was a big plus for her. For me, instant messaging with far away friends is good enough, and I view this as an add-on that I don't really need. For the record, she does have better social skills than I do, so maybe getting a webcam would be good for me.

Negatives:

The only negative of the dv2810us appears to be the weird circle pattern on the top of the case. As part of HP's "the computer is personal again" campaign, you computer now comes with someone else's personal artwork scratched all over the top of it. Somehow both of us completely missed this when we were in the showroom. If you are buying an HP, be sure to check out the top.

So there you have it! If you are required to buy a laptop with an AMD processor, you can do a lot worse than the HP dv2810us. It has the horsepower and memory to get your work done, is small enough to carry around!

Labels:

Tuesday, June 10, 2008

How MacGyver Fixes a Case Fan


The past couple of weeks, the case fan in my web server has been going crazy. It makes an unbearable grinding sound that only goes away when you kick the case. The culprit is the case fan shown below:


The fan is a monster complete with a large air duct that vibrates against the case. It spins at a very high RPM which makes it a very loud broken fan. The fan is a big reason why the server lives in the laundry room instead of under my bed or in my closet.

I decided to fix it and had two big problems. First, you can't find a replacement fan for a computer that is 8 years old. Second, the fan is rectangular (about 120x90 mm), which means that none of today's square fans are going to fit.

I ended up going with the Antec Tri-Cool 80mm fan. What's great about this (other than it being quiet) is that is has three operating speeds so I can trade off noise in exchange for cooling power. More importantly, it was only $6 at Frys.

Installing the fan is a challenge because of the fact that no standard fan today fits in the odd-sized hole left by the old fan. I decided to hack it together with what are essentially plastic coated twist ties. I attached four of these to the corners of the fan, which caused the fan to be attached at an angle to the mount.


I'll keep you posted on how this works, but the early returns are quite promising. The machine now operates silently and has yet to crash from overheating.

Labels:

Sunday, May 11, 2008

The AMD Laptop Buying Guide

Recently, a friend asked me for an unusual but interesting request, advice on a laptop to purchase provided the following constraints, it needs to be able to run Autocad and it needs to run on AMD chips (because her bff's dad works at AMD). Her current laptop is fried and she needs another one.

Since right now Intel is dominating on the top end of performant laptop chips, this imposes some rather significant restrictions. Couple this with the following two issues. First that a significant number of laptop manufactures (Apple, Lenovo, etc) only sell Intel's line of chips. To compound this, those manufactures that do sell AMD chips sell them only at the low end of their laptop portfolios to take advantage of their price-performance advantages. My friend was looking for a mid to high range laptop (more or less a low end gaming laptop for doing graphics intensive Autocad).

Lets start with the requirements for Autocad. Ouch, so if you are going to run Vista, its going to take 2GB of RAM and a dual core laptop processor clocked at at least 2 GHz. Never before have the intensive resource-hogging nature of Vista been more clear than on that Autocad requirements page, as you need TWICE the amount of memory. Seems like a "downgrade" to Windows XP might be in order here.

From doing my research, there are about 2 stops on the tour of AMD laptops, HP and Toshiba. You can also go to some niche laptop manufactures, but if you want to stick with the big guys, those two seem to be your best bets.

Ok, so now into the heart of the discussion, beginning with Toshiba (These links may go dead soon as laptop buying tends to have a high time variance):

My brother bought one of these and he's pretty happy with it execpt for the fact that one of the keys fell out. When I was there in 2005, Microsoft bought exclusively Toshiba laptops (and Dell desktops). When I'm buying my next laptop, if it would probably be from Apple, Lenovo, or Toshiba (and it will probably have Intel processors).

These are both kinda big and heavy (6lbs), but that's more or less your basic laptop size and weight right now.

We probably don't want to go lower than this if we're serious about Autocad. Recall that Software always seems to demand MORE resources in future versions. This is on sale at Fry's for 600 bucks today (May 11, 2008).
http://explore.toshiba.com/laptops/satellite/A200/A215-S5850

This is a more powerful version of the previous machine. You should be able to get this for less than MSRP ($1k). It is a bit beefier version of the previous machine (more higher CPU clockrate, 50% more memory).
http://explore.toshiba.com/laptops/satellite/A300/A305D-S6835

Both of the above machines may be week in the graphics department, which could be important for Auto-cad as their graphics cards use system memory.

HP makes a similar laptop. HP seems to be the only AMD vendor that lets you customize your laptop computer. I was able to customize a laptop I think would fit the requirements for $890 on that site (with a dedicated memory graphics card). If they are anything like Dell, you can often find coupons just by searching "HP laptop coupons" in Google and save money at checkout (or get free upgrades).

So that's the abridged, blog-friendly view of buying AMD notebooks. If you can go above and beyond what I mentioned here, comments would be appriciated.

Stay tuned for the next episode, "Easy Data Recovery from a Spoiled Laptop" or "There is a reason I don't work in IT".

Labels: