Tuesday, May 19, 2015

Minecraft Miners Are Stronger Than Superman

I've been playing Minecraft lately. A lot actually. Today while driving to work I thought about how much would all that material weight that the miner is carrying around with him in the game. I didn't have the answers while driving and I wouldn't have the answers now at work if it weren't for an AC unit that went offline last night.

Apparently last night at some point, the air handler in the lab shut down and all the equipment started heating up. This morning there were emails about it and when I tried to get onto my VM development host, it was not there. Apparently everything is down.

The AC was repaired but now we wait until everything is cool enough to stop tripping heat protection gear and allow the units to come up.

So I had some time.

I looked up some weights and have the following approximations to work with.

sword, about 5 pounds
pickaxe, about 5 pounds
shovel, about 5 pounds
1 cubic meter of dirt, about 3200 pounds
1 cubic meter of stone, about 2700 pounds
1 cubic meter of coal (bituminous), about 1900 pounds
1 cubic meter of obsidian, about 5200 pounds
1 cubit meter of iron ore, about 11,300 pounds

There are 27 inventory slots and 9 hot slots for a total of 36 possible items in inventory. Stone, dirt, and coal can stack 64 units per slot.

For regular mining, I tend to have one sword, at least 3 picks, a couple shovels, and food (survival mode). That means I will be picking up dirt and cobblestone with hopefully a load of coal and iron. If I am deep mining, diamonds and emeralds, but let's assume that is not the case.

So just starting out I have 30 pounds of tools and maybe 20 pounds of food. That 50 pounds of supplies is just a tiny drop in the bucket as you will see.

Let's say I mine until fully loaded in inventory and have only my sword, 1 pick remaining, 6 full slots of coal, 4 full slots of iron ore, 8 full slots of dirt, and 16 full slots of cobblestone. How much does that weigh?

Remember, each inventory slot holds 64 items.

10 pounds of tools
6 * 64 * 1900 = 729,600 pounds of coal
4 * 64 * 11300 = 2,892,800 pounds of iron ore
8 * 64 * 3200 = 1,638,400 pounds of dirt
16 * 64 * 2700 = 2,764,800 pounds of stone

That is a total of 8,025,600 pounds, or roughly 4,000 tons.

Oh yeah, and 10 pounds for the sword and pick and maybe 5 pounds of food, but really 15 pounds doesn't really factor into the equation at those scales.

So there you have it. If Minecraft miners were real people, they would be capable of carrying 4,000 tons of material with them as they actively mine and walk. 

Monday, May 11, 2015

Warcraft - Minecraft... What's The Connection?

I've been a gamer for years. And while I've never been a hard core gamer, I've played a lot of games and even took some games to extremes. I started back in the days of Wolfenstein - still love that game - and have played through all the Dooms, Wolfenstein 3D, Duke Nukem, Quake(s), Unreal, and many others. Some I can't even remember anymore.

I really enjoyed Baldur's Gate and Neverwinter Nights a lot. Once I created a character on Neverwinter Nights that became so uber awesome, there was no bad guy, or group of bad guys in the game I couldn't defeat. So yeah, I can be OCD about games.

I was always a PC gamer, not console gamer. I never had a console until we got one for my young son (at the time) when he received a Nintendo 64. Mario never looked so good as he did on that game. We played the heck out of that console.

Over the years we played a lot of console games though. After the N64 came the Gamecube, a PS2, and finally we waited around and got the Xbox 360 after the prices dropped on it. And a Wii. Oh, by the way, as a kid I had one of the first Atari 2600 game consoles anywhere near where I lived. We rocked.

I stopped playing video games for a while until along came a game that sucked me in further than any other.

World of Warcraft.

I was never into the whole Warcraft series because I didn't like the style. But Wow had that whole FP perspective and that hooked me.

I wasn't a big-time raider or belong to one of the big-time guilds or anything. I was a solo quester and chased after the quests, achievements, and exploring the land and lore of Azeroth. I played this game a lot. Too much. Way too much.

In a compromise with my wife, where I would give up WoW and she wouldn't kill me in my sleep, I quit playing WoW.  I quit playing all games in fact.

I was good for a while. Then I had to play something. I played Temple Run for a time on my phone. I played Candy Crush - and then decided that game was using psychology to lure people into real purchases to advance through the game so I quit - and I recently played through a number of levels of Minion Rush (which did a similar thing as Candy Crush).

Yes, it placated my OCD brain a little, but it wasn't immersive. There was no tie-in to imagination.

Then my wife bought Minecraft for the Xbox 360 for our daughter. I started playing it with my daughter (who is only in Kindergarten). Together we built dozens of houses, a floating island with a water slide, a number of floating structures, and even an entire airport with hanger (my daughter's idea).

With my daughter's wild imagination and creativity, we created all kinds of things. She likes color, so we used the dyed wools a lot for construction in orange, pink, and every other color it has. She created an entire house out of Pepto-Bismol pink that to me, is an abomination to the eyes, but she likes it.

Then she saw an image online of a fairly elaborate house and she asked me to help her build it. Which meant I mostly built it while she ran around and planted cactus and created waterfalls in the trees - we were using cooperative play mode and two controllers on the Xbox 360.

I decided to create a world of my own. Being a newb, I didn't understand Minecraft all that well, but I understood questing, survival, and construction. So I jumped right in. I forbid my daughter from going into it because she likes to "make it better". That usually means randomly she plops in red, blue, orange, or pink blocks in my finely crafted stone brick walls and floors.

I was all about the survival mode on my game world and all about the creative mode on her game world. In her world, we had everything available to us in creative mode. In my world, I had only what I could mine or craft.

Any my OCD brain got hooked again.

I've been playing Minecraft now far more than I should. I know it's annoying to others. But, unlike WoW, it is by definition casual. And that means that when the wife says "honey..." or the kids need something, I can just go to the menu screen and put down the controller. And I do, every time, immediately.

As I learned more about the game and watched online videos, I realized just how crappy the world is that I spawned in. It has to be one of the worst random seeds in existence Minecraft.

There are no deserts, two-thirds of the world is covered in snow, there are no prairies to speak of, and not one temple or overland dungeon anywhere. 

There is one and only one village. It was way north on the map and I spawned way south. I found it by meandering around with stacks of torches and building dirt huts to spend the night in.

I settled into the blacksmith shop and immediately expanded it and started digging down. I went down a few levels and started a tunnel straight back south to my original base. It was over 450 meters of digging a 3x3 tunnel.

Now here's the weird part. While digging under the village that first day, I could hear the villagers going in and out of doors like crazy. This went on and on. It took me a while to get past the village above because I kept running into water I had to block it off several times as well as crossing a chasm.

Then I heard the zombies trying to smash doors above me in the village. It was night apparently. Still, the villagers were opening and closing doors like mad. I go back to the surface and look out. It was night. There were zombies everywhere now. I went back to digging. I came back up during the day and the village was completely empty.

That's right. I had been in the village exactly one day and it was wiped out by the zombie apocalypse.

That was when I decided that I was tired of struggling in this crappy spawn world, but I already had an investment in time and construction in it. That's when I decided to use creative mode liberally.

I built a wall around the entire village - the only village in the map - and created new houses. Then I spawned new villagers. I also set up fencing and spawned some animals. 

Basically I rebuilt the entire village.

Now I am all OCD about my "mine" which arguably would rival the impressiveness of the Mines of Moria and would even have the Dwarven miners from LOTR praising its construction.

So World of Warcraft and Minecraft... what's the connection?

My OCD brain likes to immerse in a fantasy world. In WoW I was immersed in a world of the game designers creation. In Minecraft, the world was a canvas and I am altering it to suit my purposes and my designs.

Often, I find myself using Minecraft to model ideas I have in my head about locations in my next book.

Quick unashamed self plug here: 

The Trillborne Wife, by Kevin Farley and Policy available now on Amazon.com, Kindle and paperback editions.

I've created areas in Minecraft that help me figure out travel times over distance for my books, as well as relative positioning. It has been invaluable. But mostly, I've been building stuff.

Am I playing Minecraft too much just like I was in WoW?

Maybe. I play it a lot. But, I still get everything done that I need to and I have the added benefit of playing it with my daughter and encouraging her imagination. If she wants waterfalls out of the tops of tall trees, why not? It's her world, let her be master over it.

There. I've confessed my sins. I play Minecraft casually in creative mode. I suppose some would say I've lost my gamer reputation. So be it, we have some pink houses to build in the clouds.


Thursday, April 02, 2015

The Fallacy of Collaboration in Open Work Environments.

Here's an idea. Let's assemble a group of non-engineers to redesign the work environment for software developers and software testers. Let them base all their ideas on the work flow and behaviors of the non-engineering departments like accounting, HR, administrative, and operations. Next have them throw out the idea of actually considering what it's like to work day in and day out in an engineering environment where disruptions mean slowing progress, less productivity, and irritability among the employees.

Now, tell them to wrap their ideas with words like "open", "fresh", and the trump word "collaborative".


Okay, I can't keep that up.


I've worked in many environments, from folding tables at startups to door'ed offices. I've had high and low wall cubicles. I've even worked in a metal box (those that know need no explanation). I've been around. I know what does and what doesn't work.


Engineers and many non-engineers often work "in the zone". If you know what I mean, good. If you don't know what I mean, no one can help you.


If a person is put in an "open" environment where there are no cubicles, just open desks, no "private" space, how do you think that affects their productivity?

Let's talk about that. One of the claims of the open space supporters is that it fosters easy and open communications. They say it makes it easier for people to discuss their tasks and projects. They say it improves productivity. But does it really?

Let's consider a typical engineering team at a company working on a mature (already deployed) product. Joe's working on supporting an existing large customer with a feature request. Mary is working on a feature request from sales for an upcoming contract. Bill and Amy are working on some critical bugs in separate obscure areas of the code that are complex and requires a lot of concentration. Each one has a schedule deadline in less than four weeks.

Sue, Keith, Margaret, and Jack are working on a long term project that won't be complete for about eight months. Casey and Alyssa are new grads doing bug fixes to learn their way around the code base. Lydia and Tom are interns doing whatever is needed.

So Lydia, Tom, Casey, and Alyssa naturally ask a lot of questions. Something they would do in any office environment regardless of walls or cubicles. I know because I did when I was new and I do when I have transitioned jobs and I have answered countless questions from other engineers just like them.

Sue, Keith, Margaret, and Jack will be working on the same basic project for a long time, so they will be collaborating regardless of the office environment. 

And those guys with the schedule crunch Joe, Mary, Bill, and Amy? They are working on very separate projects from everyone else. They all work on the same code base so they all will collaborate in ways as needed.

What looks like collaboration when considering Lydia, Tom, Casey, and Jack is to Joe, Mary, Bill, and Amy a lot of disruption. It is a lot of interruptions to their "zone". It slows them down.

Similarly, Sue, Keith, Margaret, and Jack, though they don't have the same schedule pressure, they need to remain focused on keeping a longer schedule on track over the eight months. The collaboration from others often distracts and diverts their attentions to the point that schedule does become an issue.

So what is my point?

Even in a high wall cubicle environment where we have that private space, many engineers still put on headphones to keep the distractions at bay and get into the zone. Countless engineers listen to music while working just to drown out the already too busy and noisy office environment with it's "hall talk", impromptu meetings in cubes that spill over to neighboring cubes, and the office antics.

It has been said that cubicles are "bland" and "boring". I don't see that as a problem. I see an open table environment without walls to cover distractions and provide at least the illusion of privacy to be disruptive. It is not "fresh" and "modern". It is reminiscent of the bullpens of the early to late 20th century with rows and rows of women putting typewriters through their paces.

Before I am accused of sexism it is a fact the overwhelming majority of office typists at that time were women. Look it up. I defy that fact to be disputed.

So this is what an open environment once looked like.



And that is what comes to mind when people talk about it now:



The only difference is the density.

Look, if open office environments really worked all that great, why is it that so many of the companies that opted for them later had to do retrofits to combat acoustical problems, remove some of the "openness" in exchange for private space, and in general, gradually move to more and more private spaces?

Because they don't work for people and the don't take into account the behaviors from the typical engineer that in many aspects demonstrates characteristics common in the autism spectrum.

Open plans don't work for engineering teams with the possible - and only a possibility, not a given - exception to small teams working on a single focused task or project like is often found in startups and one product companies (think Facebook).

So when management arbitrarily makes the decision to move it's engineering department to an open space plan what can they expect? Glad you asked. I'll tell you what I've seen over the years.

A) Resentment to being treated like just another resource, not deserving the dignity of a private space (that is nearly a quote from many engineers).

B) Increase in the number of engineers wearing headphones in an attempt to ignore everyone and everything.

C) Schedule slips as the so-called collaboration reveals itself to be mostly disruption and interruption slowing down progress.

D) Employees leaving to take jobs in other companies without open office plans. They won't say that is the reason they are leaving, but most will admit it is a significant contributing factor.

E) Decreased morale to the point of impacting business for the first year. As people leave and new people come in and are resigned to the environment it will improve, but not dissipate.

F) Many experienced engineers will pass opportunities to go to companies with open environments.

G) A lot more WFH emails. If you are unaware of that acronym it means "working from home", a message subject sent out in email to your team when you are going to be working from home for the day. 

Consider item G for a minute. If you have the choice of working from the comfortable atmosphere of your home, or in a place where you have no privacy for eight hours, endless chatter and disruption, and the constant feeling that people are watching everything you do, where would you choose to work?

These are not thought experiments or guesses. These are observations I have made over the years and are real.

I understand there are a lot of proponents of the open environment for the office. Funny thing though, that majority of engineers are not proponents of them. 

I find that telling.

Now, let's consider some very specific, and very real, concerns from engineers over open office plans.

1) Where is my personal whiteboard? While this may not seem like a big issue to a lot of people this is a HUGE issue to engineers. We use our whiteboards all the time. We need our whiteboards. And no, we don't want to share a whiteboard on wheels that is shared by several engineers.

2) Where is my ergonomic desk and chair? A lot of engineers have opted for standing desks, desks that can do both standing and sitting.

3) Where do I put all my stuff? Many of us are packrats and while arguably we may have too much junk, as engineers we think differently than most normal people. We think "I may need this" because one day we probably will and we don't want to have to go hunting it down. The open spaces don't have much in the way of private storage and more importantly, your messy desk is exposed for everyone to see.

4) What about my extra equipment? Not everyone works with just a single computer on their desk. Often, engineers have equipment or extra computers - that may be specially configured build or test machines - and any number of peripherals on their desks. In these new open environments, space is at a premium, where do we put our equipment?

5) Will there be enough space for my two extra large monitors and everything else I need? There is no escaping it, engineers need screen real-estate. We need lots of screen size to get lots of windows display at once. 

These are very practical concerns that have no easy solutions in open plans. There are solutions however in cubicle environments which satisfy the needs and requirements of engineers regardless of how boring or bland the cubes may be.

When it comes down to it, you won't hear employees openly griping excessively about open environments (for the most part). The reason is simple, they don't want to lose their jobs... yet. But, silence on the part of the employees who choose to not speak does not equate to support or even consent. It could mean they are afraid, but not accepting.

So much of what I have described constitutes a toxic work environment: constant observation, restrictive desk space, lack of equipment, and fear.

Thursday, February 12, 2015

My second book, Policy, is available on Amazon in both e-book and paperback. I really enjoyed writing this book. I think because of the first person perspective I put into it with the main character being a caricature of myself.

Fed up with the political elite of Arjor controlling everyone's lives, famed robotics engineer Levi Garren decided to do something about it. His efforts resulted in Rena, a sentient AI program, and the scorn of the political establishment.

A failed attempt on his life leaves him stranded on the continent of Moragar where the native races live two centuries behind the rest of the planet. With the help of Rena and the beautiful Balai, a purple-skinned native, Levi has to beat the odds just to survive.

The experience changes his life and his entire world, in more ways than he ever expected.

http://www.amazon.com/dp/B00SCKIJG2



Sunday, August 31, 2014

Taking A Five Year Old To Lowes

I took Kara with me to go to the local home improvement store, Lowes this time, and she had energy. A lot of energy.

As we walked around, she ran back and forth, like on an invisible leash, never getting more than about 30 feet away, but certainly with her own ideas of what she wanted to do.

So here is a sampling of some of the moments.

In the electrical aisle, she stopped by the conduit and grabbed a fitting that she began to pretend was a gun. "Pew, pew, pew" and all. Another one was a cannon.

She went for the clearance priced disco ball like a mosquito to a back porch light.

She wanted to sword fight... with long florescent tubes.

She found that some people had put PVC fittings back in the wrong boxes. She spent 10 minutes or so trying to sort them back to where the needed to go. If left unchecked, we would be there until closing while she sorted.

She opened the display doors by the door section.

She sat on a display commode to "see how good it felt".

She picked up a variety of hand tools and proceeded to tell me what she was going to do with them. No, Kara, you can't paint with a concrete chisel.

She danced in the hardware aisle, she was singing by the power tools.

And all this took place in the span of 25 minutes.

Saturday, August 16, 2014

The Trillborne Wife is now available on Amazon


My first ever book, The Trillborne Wife, is now available in the Amazon store in both e-book and paperback. I encourage all of you to take a peek and look at the Amazon preview.

This is exciting for me because this is my first completed book and the first one I have ever published.

Amira was content to raise her daughters alone and secluded from the rest of the world, teaching them the ways of the trillborne, natural shape shifters. She had everything she needed, or so she thought.

Her life was thrown a curve when she met Kiv, a mage in exile and hunted by the crown. Their life together was blessed and peaceful until Kiv's violent past caught up with them. Amira was about to come face to face with the greatest challenge of her life. It would test her strength, her abilities, and her convictions.

Her story is a spirited look at life and death through the pain of love with more than a touch of sarcasm.

http://www.amazon.com/dp/B00MS48SLO



Tuesday, July 29, 2014

The Trillborne Wife - Teaser

Amira checked the wind and realized the girls would be upwind of the hunters. She sensed no dogs, which was good. There was no chance humans could ever track her daughters' scents. She needed to lead whoever it was coming her way far from the girls and her house.

The men were headed up the ridge and she saw they were armed with swords and bows. One of them pointed her direction and the others looked up. She dropped to the ground and hid her packs under a thick bush. She would come back for them later when the danger was gone.

Seconds later she heard the sounds of these would-be hunters pick up the pace. Instantly, she transformed into a wolf and ran into the meadow to get their attention. She reversed and ran east toward the valley mouth as fast as she could go. She heard the men yelling something as they changed direction to match her movements. They had taken the bait and were coming after her.

She paced herself so they wouldn't give up the chase too soon, intending to lead them out of the valley and lose them or they simply gave up and left.

Running a mile or so, she came to a small stream that drained into the creek that meandered through the valley. She stopped at the water's edge checking back over her shoulder for her pursuers. They were not too far off and still coming her way. Hopping over the stream, she continued down to the valley floor.

Nearing the remnants of the road that traced its way up the valley, Amira stopped at the tree-line, scenting for danger. She heard more voices. They were very close and coming up the road, just a stone's throw away. With hunters in pursuit and these new intruders ahead, she felt trapped and almost panicked. She went directly from wolf to brown bear and charged out onto the road, snarling and roaring a challenge to this new threat.

Monday, June 30, 2014

Windows Annoyances


Windows Annoyances

Over the years, I have been keeping a list of features of Windows that I find annoying. Some are just the brokenness of Windows while others are deliberate choices. Yet, most of these annoyances can be fixed. It just takes someone determined to fix them to do so.
Sadly, I don't think most of these annoyances will ever be fixed if for no other reason than "it's how it's always worked before". There is a real concern of breaking the way things have worked. Hence the lethargy demonstrated in the glacial adoption rate of Windows 8. Furthermore, most Windows users will not realize these features are problems because they know no better.
Here is my current list of Windows annoyances in no particular order other than it is the order in which they came to mind.

1. Dialogs Are Not Resizable

This is my number 1 pet peeve with Windows. So many times I have been presented with some dialog box, usually with information I really need, but cannot see all of it because the dialog is not resizable. This is so stupid it is inexcusable. It is the result of laziness and a don't-care attitude by Microsoft engineers.
This could easily be fixed by modifying the implementation of the dialog boxes themselves within Windows and application writers using those dialogs whenever possible.

2. Poor Mouse Wheel Integration

More often than I like, I try to use the mouse wheel to scroll a window I am in and it simply doesn't work. There is no integration with the mouse wheel. This doesn't make sense to me. I thought this would be something inherited by the window on creation and scroll events would be delivered like paging or something else. It makes no sense that it is not an easy integration with all apps.
This could easily be fixed by integrating the mouse wheel into the underlying GUI components so that all windows inherit the feature automagically.

3. Window Scroll Requires Focus

This is in my top 5 annoyances. I am used to just pointing to a window, but not clicking it, and scrolling with the mouse wheel to view the contents underneath the upper window. This is how the major Linux UI systems work. But not Windows. You have to grab focus on a window to scroll it with the mouse wheel -- assuming it has mouse wheel integration which is NOT the default for Windows.
This could be easily fixed by modifying the underlying GUI components to accept the appropriate events and default to sending and handling mouse wheel events in the window being pointed at.

4. Window Title Bar Grab Is Slow

Often I grab a window by the title bar and try to move it only to find out I haven't really grabbed it yet. There is often a noticeable lag when you try to grab a window on Windows like this. It lags and therefore doesn't move with your pointer. Instead, it either just sits there, or some weirdness ensues from your action depending on the application.
I'm not sure how to fix this. Part of it is just based on Windows being sluggish. However, if the GUI events were buffered, perhaps they could be handled anyway.

5. Indexing Seems To Always Run

It seems like no matter how many times I turn this off, the indexer still starts and runs for a while. I don't know if it being reset by some Windows update, started by some service, or its just the NSA spying on me. At any rate, it sucks down CPU and slows the system down. Is it really the indexer? Is it something else sifting through all the files?
This could be fixed by adding one simple user config item in the control panel to globally disable/enable indexing -- or whatever it is running -- once and for all.

6. No Middle Mouse Button Copy/Paste

This may not seem like a big deal to you Windows guys, but it is a big deal to us Linux guys. Imagine if you will -- and you have to imagine because you can't do this on Windows -- that you can simply select text you want to copy in one window, then point to another window -- it doesn't even have to be in focus -- and simply middle click to paste the selected text into the target window. No separate copy. No separate paste. Just select and click and done. I really miss that.
This could easily be fixed by adding in the middle mouse button copy/paste event in the underlying GUI implementation and all windows inheriting it.

7. All File Copies Use Buffered I/O

This is the reason why large file copies on Windows drop to a crawl. To the techie, the reason is the default I/O type for copy operations on Windows is buffered I/O. As a result, large file transfers eat up all the cache, increasing overhead and slowing things down. They don't even benefit from caching because they are huge files. There are utilities and Microsoft finally added an option to XCOPY in Windows 7 (the /j parameter) to skip buffering, but the default is to buffer. Therefore the default is to crawl. Or possibly even just fail randomly on network file transfers.
This could easily be fixed where the size of the file to be copied can be determined. Simply have the copy tool check the file size. If the file is greater than some number, like 100 MB, then always default to unbuffered I/O.

8. Unique Flash Drive Driver Installs

Probably in my top 5 annoyances as well. It's just annoying and really isn't a problem. Well actually, it is a problem. Here's the situation. You plug in a Centon flash drive for the first time. Windows says "hold up pardner, gotta load me some drivers" which takes time. It loads said drivers from *somewhere* and your device is presumably ready. Now you plug in a Patriot flash drive for the first time. Again with the delays and driver loading. But why? It's just a flash drive. They all work the same. On Linux, there is one driver that handles nearly every flash drive on the planet. Are Microsoft engineers incapable of doing that? Or is there something else going on?
This can easily be fixed by just not doing it. Obviously Windows can figure out its a flash drive once it's plugged in. If it's just a regular flash drive, just use the default base driver and treat it as a flash drive and don't tell me you need to load something specific.

9. Mysterious Processes Holding File Resources

How many times have you tried to eject a flash drive from Windows only to be told "Not so fast, chum. Somebody's holding an open file there!" Or whatever the error message says. The point is, too often mysterious processes that really should have nothing to do with your flash drive seem to hold an open file on it so you can't remove it without risking corruption. Just lovely, isn't it?
This could be fixed in two ways. First, if there's not current I/O on the path to the flash drive, then it's probably just being held open but not being used. So just close the file and let the app deal with the error with a closed file. Second, fix the underlying problem of Windows not being able to manage its file descriptors well enough so that this kind of thing doesn't have to happen at all. It's OK to close a file that must be closed even if some service or application is still holding a reference to it.

10. Can't Shut Down Quickly

This is related to so many other problems with Windows. You're done for the day, you need to shut down your laptop and get out of the office quickly to do whatever, and when you click shut down… you go into a long wait. Sometimes this takes several minutes. And don't give me the same old lame excuse about "applications need to completely properly" and other excuses for bad programming. The simple fact is, Windows has to give apps and services longer to exit properly because Windows doesn't keep things tidy in its own house.
The interior of Windows is so complicated you can't keep things tidy. I suspect this is due to years of rushed and bad security patches. It is also because of the need for rushed and bad security patches to keep some appearance of trying to do something about its dismal security. All of that junk that is running in the background, monitoring, filtering, sifting, reporting, and who knows what else, takes time to be stopped properly. Stop it too abruptly, bad things happen.
There is a way to fix this and that is that when the user requests shutdown, and the system is waiting for all processes to exit, give the user a "nuke" option that when pressed, kills all the processes anyway, releases everything, and shuts down like the user intended.

11. Generally Sluggish UI Responses

It seems like every time I click on windows and dialog boxes -- or try to resize things -- Windows has a noticeable lag between when I start the action and when it performs the action. This could be for many reasons but my gut feeling is that this is primarily caused by software bloat. Windows is simply running too many lines of code too often.
Every action, every click, has to descend through a myriad of layers of software required because of Windows GUI components being mired in class upon class in hundreds of separate objects in the current trend of software design: object oriented to the max.
I don't know how to fix this without a rewrite of the GUI components and a restructuring that eliminates some of the intervening objects and layers. Surely something could be improved.

12. Every Flash Drive Searched For Playable Media

I simply don't believe that people only use flash drives to move music and videos around, but judging from the default behavior of Windows, that is what their designers think. For some reason, Windows just has to search that entire 64 GB flash drive of source code repository backups, relational databases, and thousands of zip files you are archiving because there just might be a song or a cat video somewhere on there. Seriously, just stop it. I don't want my media searched.
This can be easily fixed by providing a single control panel setting somewhere that disables/enables the feature.

13. Slow Boot Process

Windows has always had a notoriously slow boot. There are many reasons for this and without a fundamental rewrite of Windows, it won't get much better. You can throw bigger, faster hardware at it to compensate, but that is all it is, compensating. Put Linux on that same hardware, and its still booting faster than Windows.
So why is it so slow? Partly because Windows has an overly complex design and implementation. And partly because there have been so many rushed and bad patches applied to the code over the years. And also partly because Windows is so inherently insecure, we are all required to run some sort of anti-virus software that gets bigger and bigger and has to do more every year. It doesn't have to be this way.
This could be fixed, but not easily. It would require some rewrite of the fundamental parts of the core of the operating system, but it could be done. Another thing that could help is to stop running all the services it does by default. Enabling everything it does by default makes sense to some guy who is thinking about helping a remote user "some day, some where", but it does not make sense to the average user that will never have a Microsoft technician log into their machine remotely.

14. Booted Is Not Really Booted

In an attempt to solve the slow boot problem that has plagued Windows forever, the programmers have used a trick to make the users think they are booted when they are not. So basically, the do the minimal amount of work necessary to get the user to a login prompt. Once there, you can login, but the boot is still happening in the background. It takes more time, in some cases several minutes, to actually complete the boot process. Don't believe me? Boot up and immediately launch Firefox browser or something not part of Windows itself (like Internet Explorer) and see what happens. It will take a while.
This could be fixed, but I'm not sure it would make things better. Without fixing the underlying issue of a slow boot time, it would be pointless to fix this. If the underlying issues were fixed, this feature would no longer be required and thus is fixed.

15. Windows Media Player UI Is Horrible

The few times Windows Media Player accidentally gets started when I'm using Windows, and then I actually try to use it, I cannot stand the UI. It's like there's something messed up with the controls for the main display. Columns don't resize like you would expect. Also they put limits on the resizing of some elements. For example, if you want to resize the right side pane that displays a playlist, you are limited to how wide you can display it.
Furthermore, the UI is just fouled up with a lot of crud. In addition to the Windows title bar, there's a menu bar, some kind of location bar, and then the headers to the columns. It takes up a full 158 pixels on my display. That's ridiculous. Let's also not forget the codec nightmare of never seeming to have the correct codec to playback whatever it is you want to play. VLC it's not.
This can be fixed by redesigning the UI of Windows Media Player and incorporating more codecs by default into its installation.

16. Triple Click Doesn't Get Entire Line

Perhaps most Windows users won't think about this one because it's something I got used to in the Linux world. The triple click feature exists in some Windows apps, like Word, but it is not common. On the Linux desktop, this is just something that exists everywhere.
This can be fixed by adding the feature into the default mouse click handling components of the UI.

17. Reboot Required For Memory Release

Technically, it's not, but practically it is. No matter how many times you try to clean up a running system, you eventually run out of memory and have to reboot to get everything cleared up correctly. This tells me there are memory leaks in the system and the OS is not capable of managing resources well. And if the OS can't effectively manage its resources – like memory – then you have a broken OS.
This can be fixed by fixing the bugs in the Windows kernel and specifically the memory management routines.

18. Consumes A Lot Of Memory

For whatever reasons, Windows is just getting bigger and bigger on disk. A typical Windows 7 base installation ends up being anywhere from 20 to 25 GB on disk. Furthermore, a 64-bit installation requires a minimum of 2 GB, but don't expect that to perform very well. You need a minimum of 4 GB to make it useful. Better yet, get 8 GB so you can actually run multiple apps at once without the system coming to a crawl.
By comparison, a full Linux Ubuntu or Mint install takes up about 6 to 10 GB depending on the applications you have installed with the distro. Note, that is the size of the OS and applications. For Windows it takes those 20 GB or so just for the OS. Also in Ubuntu or Mint, you can easily run the 64-bit OS in 1 GB of RAM. Don't try that on Windows. It won't work.
I don't know how this can be fixed in Windows. Someone would have to completely redesign Windows and define what constitutes the base OS and leave a lot of the crap for addons which in my opinion would very seldom, if ever, get installed on a user's machine.

19. File Open Dialog Confusing

Let's say you go to open a file in some app on Windows and you know you put this app in a folder under your personal "home" folder, but when you see the file open dialog box, your home directory is not one of your choices by default. Wait a minute... what? Seriously? My own "home" folder is not one of the choices?
So here is the essence of the problem. The open file dialog shows you "Favorites", "Libraries", "Computer", and "Network" folders. But unless you make your folders favorites or libraries, you are forced to go all the way to the top of the file system on C or D drive – or wherever it is – and then navigate down to your own home folder and then find your file.
This can be easily fixed by simply making the user's "home" folder to be one of the default selectable locations.

20. SuperFetch Often Hijacks System

If you are unfamiliar with SuperFetch, allow me to summarize it. SuperFetch is a tool that allows Windows to cache files it thinks might be needed in RAM to speed up access to them. That's actually a good thing. I don't have a problem with the idea of SuperFetch. My problem is with its implementation.
The problem occurs when Superfetch goes off into the weeds, so to speak, and consumes nearly all of your CPU. That's when it becomes a problem.
This can be fixed by spending some quality time debugging the problem and fixing SuperFetch.

21. Anti-Virus Software Required

We all hate viruses. We all hate the bloat and impact to our systems that occurs because of viruses and their cure, the dreaded anti-virus software. The simple fact that really cannot be escaped or denied, is that Microsoft is inherently insecure. Because of that inherent insecurity, anti-virus software is required not for technical reasons, but rather it's required out of self-defense.
Microsoft has worked for years to solve this and have not solved it yet. They have applied numerous patches and bandages to improve the defenses of the OS and have plugged a lot of holes. There are still far too many.
This can be fixed by Microsoft continuing their improvements to the OS, but would be better solved by redesigning base parts of the OS that protect numerous other components.  

22. App Crash Leaves Sockets Open

When an application is launched that opens sockets for some network connection, and then that application crashes unexpectedly, the sockets are left bound and open. This can interfere with restarting services and other user application issues.
This can be fixed by modifying the network stack code to detect loss of socket owner and close the sockets.

23. Weird Limitations On Naming Files And Folders

There are a number of annoyances regarding file and folder name limitations. For example, you cannot create a file or folder named "con" or "prn" because Windows thinks you are trying to access the special device names. Another limitation is you cannot create a folder with a name that ends in a period like "apple." because Windows can't handle that pattern for folder names.
This can be fixed by updating the file system components to eliminate those limitations.

24. Uses Backslash ("\") As Path Separator

Windows is the only current operating system that uses the backslash ("\") character as a path separator when constructing folder paths. All of the Internet, all Macs, all Linux, and all Unix machines treat the backslash character as an escape character and use the forward slash ("/") character as the path separator. Microsoft opted to use backslash back in the 80's in MS-DOS 2.0 because the forward slash was being used already for command line options. This that was over 30 years ago. It is time for Windows to grow up.
This can be fixed by modifying the command processor and path handling components to switch the path separator to "/" and change input parameter switches to something else, preferably the hyphen ("-"). That would bring consistency with the larger Internet. It would be fairly trivial to support both schemes for a transition period of a couple of years before a complete switchover.

Thursday, March 13, 2014

If you like your Windows XP, you can keep your Windows XP, but you shouldn't.

Unlike some other promises lately, you really can keep your Windows XP. The fact that Microsoft will no long be supplying bug fixes and patching security holes does not mean you cannot continue running Windows XP. The fact that Windows XP was always a huge security hole and technically is a crappy operating system is reason enough to abandon it.

There is no mandate to change, but you really ought to make a change. I will explain why.

I need to start with a short history minute. Bear with me. It really does make a difference.

Windows XP started life in the late 1990's and was built around the Windows NT kernel, which was what replaced the old Windows 9x operating systems. While XP was released in 2001, it's guts started in the late 1990's. That alone should give techies pause for concern.

So the operating system is now going on 13 years old from release, but the technology underneath is going on 17 years old.

What does that mean to you?

It means that 17 years of technical advancement in operating systems are missing from XP. It means that manufacturers don't even consider XP compatibility something they need. It means that finding drivers for new hardware will go from being difficult to impossible. It means being isolated technically on that operating system.

You can continue to use Windows XP, if you don't mind being stuck in the past. I know there are some die-hards out there that think XP was the best thing since sliced bread and refuse to give it up. But they are the exceptions. Let's call them exceptional people. Think of them as the people who refuse to fly in them thar new fangled flyin' machines.

And now you decide that since you are not a historian and you are not wanting to leave yourself open to hackers turning every XP installation on the planet into a great big spam bot, what should you do about it?

Most people won't really think the choices through. Most people will just go buy another computer with whatever Windows operating system is on it. Most likely that will be Windows 8 or 8.1 now. Then they will complain and whine and end up pining for the old days because they come to the realization that Windows 8 and 8,1 both suck.

So other people will try to hunt down someone still selling computers with Windows 7 or look for copies of Windows 7 to buy. That option is drying up as Microsoft is desperate to sell copies of Windows 8.x regardless of what users actually want.

What should you do?

Here are your options: 1) stick with XP anyway, 2) find Windows 7 PC or OS, 3) take the plunge to Windows 8.1, and 4) abandon Microsoft Windows and all its spyware, bloatware, NSA backdoors, random lockups, and ugly interface.

There is a number 5, the "other" option. More on that toward the end of this.

While option 1 may work for the next few months, it will soon start to give you definite reasons to abandon it. Once the hackers no longer have Microsoft plugging holes, the own the OS. So with Windows XP ending life, you should definitely be dumping Windows XP. Therefore 1 is not really an option.

A lot of people I talk to have already gone option 2 and still more are trying to locate Windows 7 machines and OS to buy. If I had to live in the Windows world, I would personally go this route. My company is sticking with Windows 7 for the foreseeable future because so much software they rely on breaks with Windows 8. 

Windows 7 has the best backwards compatibility with Windows XP and probably the most solid OS Microsoft has ever produced. That means it fails less than XP, but that does not mean it does not fail. My Win7 work machine has crashed numerous times and with all the anti-virus, anti-malware, and security software my company installed, my PC spends about a quarter of its time just checking things.

The bottom line is this: if you don't have a reason to stick with Microsoft Windows - like some critical piece of software that will only ever run on Windows OS natively - don't take option 2 or 3.

Quite a few people have decided to go for option 3 either because they couldn't find a viable option 2 or because they just gave up on trying. Some people, and heavens it really is a small minority of people, actually like Windows 8.1 and they choose option 3 or have already chosen it.

The problem with option 3 is that even Microsoft sees the failure of users to switch to 8.1 and that causes them heartburn. So much so they are already forming its replacement. Will the tiled interface disappear? Who knows. But think of 8.1 like you do Vista and you get the idea. Just don't.

Now, if you are those types that really don't need to live in a Microsoft world - meaning almost all home users - you can ditch Microsoft Windows entirely. 

There really are other operating systems despite what Microsoft and your MS fan-boys tell you. 

So if you think you might be interested in option 4, there are more options than just Apple Mac. What are they you ask? I shall tell you.

The most common choice seems to be Apple Macintosh and for good reasons. They build really, really, good hardware and their operating system is rock solid. If you open up a typical mid-range laptop running some kind of Windows, it's a nightmare of wires run this way and that and things seem fragile. Open up a Mac laptop and it looks like real engineering went into it. 

The modern Mac operating system is built on a version of Unix, the venerable operating system that has been around since 1969. Does that mean its a relic? An antique? A dinosaur? Heck no! It means it has about 45 years of maturity into it.

Unix has adopted new technology into the kernel and operating system ever since its inception. It was designed from the ground up to evolve. Because of that, it is very stable and very solid. That is why for decades the majority of corporate and then Internet servers ran Unix. It has only been supplanted recently by installations of Linux which are based on the design of Unix. Linux and Unix even share a lot of code.

The Mac user interface is also highly touted - I personally detest the "one menubar to rule them all" paradigm of MacOS but that's just me - and for good reason. It doesn't randomly lockup like Windows does. Oh it can and will from time to time, but its so infrequent there are not Internet memes built around it (think "blue screen of death").

Also, if you want to do multimedia, a Mac is the way to go as the application software for multimedia processing is abundant and world class on the Mac.

And there's ever other kind of application you would ever want to run, except maybe those made for PC games. Let us not forget to mention that the number of security risks on a Mac is a tiny fraction of those on any Windows operating system.

But Mac is not the only choice. There are two other highly credible options: Chromebook and Linux.

Recently the sales figures for Chromebooks indicated they were outselling Windows 8.1 and for good reason. They boot in 7 seconds. Yes, 7 seconds. They are extremely stable, impervious to viruses - they can be affected by web sites that target the Chrome browser, but even that risk is tiny compared to Windows. They are self updating, they don't have bloat, and they are simple to use.

What's the downfall of Chromebooks? They don't work like typical desktops. If you are used to installing apps from all over the place - and getting viruses with them - it will seem quite strange. You install Chrome apps only and typically everything you do is in the cloud.

This does not mean you have to stay online the whole time. They work offline as well though some apps you may install only work with a connection.

I have a Chromebook and my middle school age daughter does as well. We browse the web, write documents, create presentations, create spreadsheets, make drawings, edit photos, play music, play videos... everything you would want to do. We love our Chromebooks.

The final option is actually my personal choice: Linux. I am writing this note on Linux Mint as we speak. Linux has the same benefits of the Mac OS, but not the hardware. It has many of the same benefits of the Chromebook, but takes 15-30 seconds to boot. And it has a rich set of applications, most of which are entirely free. That's right, free. It's the cheapskate's great thrill.

Linux laptops kind of look and feel like Windows 7 laptops, but the user interfaces in Linux are cleaner, better featured, more stable, and did you notice I said "interfaces" and not just "interface". That's right, you can have a number of different user interfaces. You can even have most of them installed at the same time and switch which one you want to use when you login.

Like the Chromebooks, you can do nearly everything you would ever want to do in software. They are still lacking the top-end games but that will change as well now that Valve (makers of Steam game delivery platform software) have announced they are putting their full force behind SteamOS which is based on Linux.

Linux is THE choice for powering supercomputers, the lion's share of Internet servers, innumerable scientific installations and research labs, and exists as the primary or secondary operating system on a growing, but still small, fraction of the world's desktop and laptop computers.

The major downfall of Linux is that there are few vendors that sell Linux preinstalled on systems. So you have to have a machine or buy a machine and install it yourself in most cases. And that can be simple and done in under 30 minutes, or you could be in that 10 percent where the hardware isn't exactly supported out of the box and it is frustrating and takes hours or days. Most of the time it's a piece of cake. Other times it's sauerkraut.

So what does all this mean now that you had the stamina to read all this? Allow me to share some suggestions with you so you can determine for yourself what you want to do.

Ask this question of yourself: is there some piece of Windows software i can't get along without and there are no alternatives on other operating systems?

If the answer is yes, consider going the Windows 7 or 8.1 option. But if the answer is no, use this as the opportunity to learn something new, get something better, and have fewer frustrations.

Ask this question of yourself: do I do much more than browse the web, send/receive emails, write documents, view and edit photos, social networking?

If the answer is no and that is about all you do, you are a great candidate for a Chromebook or Linux, depending on how you want to go about it. Chromebooks setup themselves and are really, really easy to use and maintain. Linux can be a little harder but gives you way more OS power than you probably need... until you need it.

Another question to ask yourself: do I do a lot of multimedia or do I want to?

If the answer is yes, get a Mac. Just go get a Mac.

How about this: I just want it to work, but I want full power.

If the answer is yes, get a Mac. Again, just go get a Mac.

And finally: do I want to expand myself and learn how things work and do I want to be able to customize my operating system 3.5 million ways?

If the answer is yes, download a Linux distro and start the ball rolling. You can even install it alongside XP or any other operating system. if you don't know which distro to get, stick with either Ubuntu or Linux Mint until you do know.

At this point the question of "compatibility" comes up. People often ask "Is Mac/ChromeOS/Linux compatible with Windows?"

The answer is no and yes for each of the alternatives.

In basic terms, nothing is compatible with Windows. But because of the extensive technological support of the alternatives, they don't have to be compatible with Windows.

But regarding application compatibility, the answer is often yes. When it comes to applications there are two ways you can make or break compatibility. First, if the same application runs across multiple operating systems, like Firefox, Chrome, Skype, and a lot of others. These applications are definitely compatible.

There are some applications you will not find on other operating systems. For example, you will only have the option of Google's Chrome browser on a Chromebook. That's just how it is. You will not get much Microsoft software running on anything besides some apps that were ported to a Mac.

There are a number of specific applications where the software writers were simply not capable of creating their software to be what's called "cross-platform" - able to run on multiple operating systems - or they may not have had the business case to justify any perceived increase in costs to do so.

However the real test of compatibility is in the file formats. What do I mean? Every application you use that reads, creates, or otherwise uses files has to be programmed to understand the file format, or how the file is constructed and which bytes go where. File formats are the real test of compatibility.

With Microsoft Office, the company went out of their way to keep their file formats as incompatible as possible. That is not an overstatement. They really did. And just when other companies were getting the .doc and .xls file formats figured out, Microsoft changed them again with .docx and .xlsx and although these file formats are published as a standard, that is in name only. They buried proprietary format specifications in their standard to prevent other companies from being able to freely use them.

Again, that is not an overstatement. That is why if you live in a Microsoft world, use Microsoft Office, and think the only document format ends in "x", like .docx and .xlsx, then you are effectively trapped in that Windows world. Go back and look at options 2 and 3.

Yet even those formats are being picked apart. Applications such as LibreOffice have made huge advances in being able to read and write those proprietary Microsoft file formats. Many other applications have as well.

Most users don't have huge libraries of proprietary document files. They have some. And most of the time most users are more concerned with their other file formats, such as the file formats used for video, music, and photos. And when it comes to that, no worries. Nearly every music, image, and photo format used on Windows is already being used on the other operating systems.

Being a Linux user, I have yet to find any non-encrypted file format I could not use or convert on a Linux system. And since Macs share a lot in common with Linux, the same can be said for that platform.

So rest assured, for most of you, all your files will be accessible and usable on Mac, Chromebook, and Linux. Not all, but most.

Remember I mentioned that option 5? One thing that occurs to me is with the onslaught of mobile devices, do you really need a traditional desktop or laptop at all? Can you do all you need to do with a mobile tablet? For a lot of people, that is truly a workable and arguably better option.

Whether its an Apple iPad model, a Kindle HD model, or some other tablet, today's top tablets are certainly not your traditional PC but they can do most of the same things, and in some cases, more.

So if a tablet seems something you may be interested in, if you intend it as a replacement, do not go low end on tablets. Because it is such a lucrative market right now, a lot of low-end - meaning cheap - tablets are being produced. Just stay away from them, they aren't worth the hassle. Shop around and get a good deal.

The Apple tablets will typically be the most expensive, but they are very nice. Android tablets, which are the world's majority of tablets today, come in a wide range of prices and performance. Shop them to find a good mid-range or higher-range model. There are some Linux tablets to be found and they are an alternative for those who like to break away from the pack.

That's it. It's a lot of words, but I think they are useful words. 

If anyone has any specific questions, contact me. I would be glad to offer my assistance in helping you determine your personal computing needs so you can decide what you want to do.


Copyright 2014, Kevin Farley (a.k.a. sixdrift, a.k.a. neuronstatic)