Wednesday, April 10, 2013

A new adventure, 3D printing

This is only the first of many posts to come.   I've ordered a 3D printer, of sorts.  More like a pile of parts.

The most common 3D printer design among hobbyists, is the completely open Prusa Mendel.  One company sells all of the common parts for a base model as a kit.  Not a bad deal if you're inclined towards building things.   Their main page is if you are interested in going this route.

I will be chronicling my build in this blog, with updates and photos.  After the project is complete, I will continue to post updates about modifications, improvements, and projects I accomplish with the 'printer'.

People call them 3D printers, but really, they are additive cnc machines.  Moving a tool head, the extruder, around using the same technique and programming code that industrial milling machines use.

I'm currently waiting for the parts to arrive.  Spending my time researching, planning, and learning software.   I'll dedicate a post this weekend to software, there's a lot of ground to cover there.  

Hopefully, I'll be able to start the build next week.  Stay tuned!

Sunday, November 25, 2012

Cheap and silent desktop Linux box!

In the tech news in the last couple of weeks, there was an announcement of an intel branded mini-pc.  There have been many of these small desktop machines in the last few years.  Very small footprints, low power consumption, most are silent due to a fanless design.

The appeal of such small machines is obvious.  Taking negligible desk space, they can sit out of the way, or even be hidden.  They can be mounted to the back of a monitor for use as industrial signage, or a pseudo all-in-one design for the desktop.  They are ideal for limited space installations like in mobile homes, or a small collage dorm room.

They're considered cheap, yet are still a bit pricey for a lot of us.  Many of them seem to settle around the $300 mark.

I've found an alternative that is widely available and much cheaper, less than half in most cases.  The early intel Mac minis.

Back in 2006, Apple produced their first intel based mac mini design.  Quite a capable box at the time, Apple was always using cutting edge hardware in their designs.  This model contains an intel core duo dual core 1.66Ghz cpu, 1Gigabit ethernet, wifi, bluetooth, four usb ports, firewire 400, and DVI video connector.

Full specs listed here:

The last version of Apples OS that could run on this model was Snow Leopard, 10.6.x.   Since the last two versions of their OS, there has been a glut of these machines showing up on eBay, going for as low as $130 to just over $150.   I picked one up with a bad hard disk for under $80!

Replacing the hard disk is not too complicated, I'll list the steps at the end of this article to help anyone along if they pick up one cheap.  These make a GREAT Linux box,  I'm writing this on mine right now loaded with Debian testing.

In my case, I had a unit with a bad HD, as mentioned, so I installed a 32Gig SSD I'd picked up a year or so ago.  Installing your favorite Linux is easy, Apples firmware has an emulated bios for their "bootcamp" method of dual booting windows on their machines.  When you power up, hold down the 'opt' key if you have a mac keyboard, or the left hand 'alt' key if you have a PC keyboard.  The machine will come up to a graphic menu that allows you to choose your boot device.  Insert your linux CD/DVD, and after a few seconds you'll see a CD icon appear with "Windows" under it.  Arrow over to select it, or click with the mouse and the CD will boot.

From that point, you go through an installation just as you would on any PC box, and after the install is done and it reboots, it will come right up.

These machines are a bit pokey under Apples OS, but under Linux, they perform extremely well.   All hardware works just fine on any recent Linux kernel.  OpenGL performance is not bad at all, making all 3D games that I've tried run smoothly.  I've even played full 1080p video files full screen without stutter.  The machine is nearly silent as the internal fan can't be heard unless you put your ear right down next to the vents on the back.

So there you go.  For not much money, you can have a tiny desktop Linux PC that is fully capable of just about anything you might need to do.  Enjoy.

Here are the steps to get the mini apart for HD replacement.

1) Remove the case.  For this you need a special tool.  Apple sells it for $30.  Since it's basically just a 1" wide putty knife, you can get one at the hardware store for a couple dollars.
   Insert the knife into the seam around the bottom edge of the machine and pry.  It will pop loose, and you just work your way around.

2) Disconnect two cables.  At the back, there is a ribbon cable connected to a small board at the back of the CD rom drive.  It has a ZIF connector.  You pop to small clip up at each side and the ribbon lifts out.
   At the front, next to the small coin battery, is a two wire cable with a snap connector into the main board.  Pop it out carefully.  This is the fan temperature sensor, and if you forget to plug it back in, the fan will run full speed.

3) Remove the wifi antenna.  At the rear corner is the wifi antenna board.  Under it you will find two plastic clips.  Squeeze them in slightly and you can life off the antenna board.  Remove the spring and set it aside.

4) Remove four screws holding the chassis down on the main board.  At each of the four corners of the chassis  there is a small Phillips head screw.  One is at the bottom of a tube, one is right out in the open, and the remaining two are tucked down inside the corner of the plastic chassis.  A penlight will help on those hidden two.

5) Lift off the chassie.  This is only a little tricky.  There is an interconnected socket between the two, and the wifi antenna cable snakes down under the fan exhaust at the back.  Just work the chassis loose with a gentle rocking and lifting motion, keeping the antenna cable from getting snagged.

6) Once the chassis is out, turn it over and you'll see the 2.5" sata HD right there.  Four screws and you can work it loose from the connectors and lift it out.  Drop in your replacement by lining it up with the sata connectors and gently pressing it in until the screw holes line up.

7) re-assemble in reverse.  Take care to guide the wifi cable around the fans exhaust, *carefully* or you'll pop it loose from the wifi board.  With the holes lined up, you'll be able to work the interconnection in.  The ribbon cable at the back will slide into the ZIF connector and has a line drawn across it that will line up with the edge of the connector when it's all the way in.  Alternately press down the little clip edges while holding the cable in.
Don't forget that fan connector up front by the battery!
The two screws with the hidden holes are just a bit tricky.  A small Phillips jewelers screwdriver that has been magnetized helps there.
Finally, guide the case back on, watch the flexible ground at the back and use the guides around the back connector areas.  Press it down and it will snap back on.

Sunday, August 19, 2012

A tablet I can actually use!

    A couple of years ago, when Apple released the iPad 2, I bought one.   At the time, I had an original iPad that I'd bought second hand.  I needed it for work, since I support primarily apple products in a company that uses Macs for all of their workstations, over 400 of them at present.   Executives there all have ipads, as do many of the employees.  The company still, even today, won't provide I.T. with one, so I spent my own money on it.

    I used the iPad 2 for a few months, but ultimately sold it and bought a eeePC netbook.  At home, I'd switched from Mac to Linux, and the netbook was FAR more useful than the iPad.  Also, I grew tired of having to restart the iPad every couple of weeks due to it acting up in some strange way.  (sidebar, Apples iOS devices are built on top of the HFS+ filesystem, which is very broken and corrupts files regularly.)

   I was very happy with the netbook, excepting for portability.  A slim tablet is just more convenient to slip into a bag, or carry with you to a coffee shop, diner, or to travel with.   I still wanted a tablet for that convenience, but being a tinkerer and linux user, I have to have openness and reliability.

    All of those facts in line, I was very happy to see Google release the Nexus 7, and snapped one up.  It fits the bill PERFECTLY!   It's smaller seven inch size is ideal.  Convenient to carry, easy on the wrists for long reading or gameplay periods.  Googles android in it's native form, not hobbled by some carrier or companies crapware piled on top of it.  Quad core CPU in the nVidea tegra three chip is really fast, and the one gig of RAM gives the OS plenty of room for speedy app switching.

    This weekend I took it traveling and found it to be excellent and useful on the road.  We were going deep into a state park forest for some fishing, far from cell service and full of twisty little roads.  A new feature of google maps in the latest android, is offline maps.  You can download areas of the maps to the device ahead of time.  This, along with the built in GPS proved very useful while finding our way through the park.

    Back at the hotel, on the provided wifi, it made quick work of the usual fair.  Checking email, posting some trip pics to facebook, catching up on the news, finding interesting places to visit in a strange city, etc.

    The voice dictation has improved to the point of star trekishness spooky in it's accuracy and speed.  It no longer requires network access, residing completely on the device for nearly instant recognition of spoken words with very little post editing required.

   One final point...   At the $199 price, you could buy two of these and some software for the same price as a single iPad!  I give it a big thumbs up.

Friday, August 3, 2012

Drifting back.

 I'm sitting here trying to remember what it was like, so many years ago, when I was young. I might as well try counting the trees on the other side of a misty pond at twilight. Memory, like that mist, is fogged and indistinct.

I've ignored my cell phone all day. I should just turn it off. Occasionally it calls to me, a desperate beepity boop blip sound that alerts to new email, txt, calendar event, etc. A small electronic baby, crying for attention, waving it's little balled up fists electronically, calling to my mind. A mind that has been trained by a couple of decades of ever increasing information and communication, to respond.

I can't keep my attention on any one thing for very long. Always distracted by that little rectangular infant. So I've ignored it today. Trying to remember, what it was like back through that misty fog....

There was the telephone. That's it. A Bakelite brick sitting on a desk, or mounted on the wall with that long tangled cord hanging almost to the floor. It was a heavy mechanical construction, quite the beasty. Actual copper wires connecting it all the way, on poles, for blocks and blocks or miles, to an even bigger monster at the phone company. I saw one of those switches once. Rows and rows, taller than a person, of relays that turned these rotary switches. Dozens of stacks of them, wires wires and more wires snaking around them, connecting each other and adjoining racks.

The phone itself, under the Bakelite shell, was made with brass, steel, and iron. Screws connecting the metal parts and the iron base. Wires, a rotary spring loaded relay with numbers on the front and a dial with finger holes over the numbers. You would actually put your finger in the hole, and rotate the dial, loading up the spring. When you released it, the spring would rotate it back, against a mechanical break to keep it slow and steady. It would short the wires in intervals, the same number of times as the numbered hole you put your finger in.

Now, this is the mind boggling part. Each time it shorted the wires, that caused one of those relays back at the phone company to turn a step. Electronically, through the pair of copper wires that went all the way between your house and the phone company. By dialing the phone number, you were rotating these hundreds of switches, to connect your pair of wires, to the pair of wires of the other persons phone at the number you dialed. Boggle

Also in the phone, was the bell. No little sampled sound being reproduced through a speaker. Real Metal Bells. With a hunk of steel between them that was suspended on a stiff wire that passed between two eletromagnets. A pre-steampunk beauty that was. The bells were sometimes chromed and shiny, but usually just steel half spheres with rust spots already forming. But they made noise! Loud ringing sounds that you could hear even if you were at the other side of the house, in the shower with the water running and the door closed.

Those electromagnets were being swung with a 40 volt AC current being sent down those copper wires. Once you picked up the phone, putting the load of the speaker and microphone in the handset on the wires, a relay at the phone company would make the final connection between your pair of wires and the calling parties pair of wires, with a dc current applied to the wire.

This is a very very clever thing. The condenser microphone in your handset presents a varying resistence as it picks up audio, you know, your voice. Your microphone is wired in series with the speaker on the other end, so your voice varies the current, reproducing the sound in the speaker.
Vise Versa for the other end, and you two can talk naturally, simultaneously, just like face to face.

The telephone was pretty neat, eh? But also, it was the ONLY interruption from outside that came into your space. And not very often either, maybe two or three times in a day. The rest of the time was yours. Your mind could focus on a single task, uninterrupted, free. I was way more productive back then, when I was young.

Wednesday, August 1, 2012

Ubuntu 12.04 and Unity

Ubuntu 12.04 – all in!

Well, I've decided to give Ubuntu's Unity GUI an honest look. I had already updated both my netbook and desktop machines to 12.04, but had installed MATE for use as my GUI.

My reasons for installing MATE, were my years of comfort with Gnome 2.x. I had a configuration I was happy with. Just the right little additions and behaviors to fit my way of working. MATE allowed me to hold on to those preferences. MATE is still a little buggy though, and has caused me a bit of grief on the netbook especially. Overall, it was close to what I was used to from gnome 2.3 up to Ubuntu 10.10.

I decided to spend a little time with the new Gnome 3. I had looked at it before, but I was not in the right frame of mind to give it a fair shake. This time, I cleared my mind of my old habits, and approached Gnome 3 as something new. No expectations of how things should work. I discovered that Gnome 3 was actually not terrible. In fact, it struck me as clean, if not a bit to simplified. I learned a bit about it, discovered the common shortcuts, and some inconsistencies.

The experience with Gnome was not bad, and I decided I could live with using it on my working machines. Well, what about Unity then? Ubuntu is built by default around their Unity GUI. I suppose that if I'm exploring these new desktops, I should give Unity a good look as well.

Years ago, heck, a decade ago!, I switched from Windows XP to an eMac running OSX 10.4. Coming from the Windows world into mac was like stepping into an alien environment. Everything was strange a different, yet it all fit together so well. The Apple GUI was clean and shiny. All the parts reflecting an attention to detail that was consistent throughout the interface.

Unity has that same feel. The impression it gives, is of a carefully designed product, throughout. Ubuntu does not feel like a hobby OS stitched together by a collaborative effort of pale computer nerds, not by a long shot! Ubuntu with Unity feels like an expensive commercial product.

I'm going to talk a little bit about a few of the features of Unity that I think I will quickly become dependent on and miss on other desktops. First up, the HUD.

The HUD, Heads Up Display, is a search tool for menus. We've all been here before, you're in an application, working away, and you need a certain function. You can't remember which menu that function is under, so you waste 20 seconds or more digging through menus looking for it. This is where HUD comes in. A single tap of the 'alt' key brings up a search field, where you can start typing the name of the menu item you're looking for. Below the search field, a list begins to populate as you type, with hits on that keyword, prepended with the path to that item.

As an example, in GIMP, if I start typing “crop” into the HUD, I get a list of items like so:
Tools > Transform Tools > Crop

Once I train myself to use HUD, I can see it becoming a time-saver in some larger applications like Libre Office Writer or Calc. I often find myself searching menus in those apps for a function.

Ubuntu One, Canonicals free cloud service, has grown up a bit in this release. The settings panel is cleaner and more comprehensive, and the speed of syncing files is much improved over the earlier versions.
I have two work computers, a large home desktop machine, and a eeepc netbook. Using Ubuntu One, I sync the contents of my documents and desktop folders. This just works wonderfully. As an example, this blog entry was something I worked on over a few days, sometimes at home, and sometimes on my lunch break at the day job. I'd open the file, work on it awhile and then close it. No matter if I was home on the desktop, or elsewhere on the netbook, I always had the current edit of the file.

Other times, I might run across some media or image that I want to use later. I would simply drop in on my desktop, and the next time I sat down at the other computer, the file was there. Very handy.

One design element of Unity that I have mixed feelings about, is the placement of menus in the bar at the top of the screen. Just as on the Mac's OS, all application menus will be place in the top of the screen. On my netbook, this is not so much of a problem since it saves on screen real estate. Application windows have more space for content. However, on my desktop with a big 24” hi-res monitor, this results in a LOT of mouse milage.

The app menu placement is implemented through three little programs, so simply removing them will cause the menus to again be place on application windows. The one line shell command to accomplish this is as follows.:

sudo apt-get autoremove appmenu-gtk appmenu-gtk3 appmenu-qt
Doing this on my desktop but not on my netbook allows me to get the best out of unity in both cases It's the one thing I enjoy most about a linux desktop, customizable, completely. At work I use a Mac as my primary workstation and I am responsible for nearly 400 Mac workstations. Apple makes the decisions about how their GUI looks and works, you have little choice. The Lion upgrade went a long way to slowing me down at my job. Lots of frustration and verbal grumbling over that.

There are only two 'bugs?' that I have yet to resolve with Unity. One being multiple desktops don't automatically switch when you switch focus to apps on other desktops. Example: I leave Gwibber on a second desktop.. If I go to the notification menu and notice a new message there, and click on it, nothing happens. In my mind it seems that the desktop should slide over to Gwibber.

The other is probably a configuration setting somewhere that I've yet to find. On my desktop, tapping the super key does not bring up the menu, nothing happens. This machine was upgraded from 10.10 to 11.04 to 11.10, finally to 12.04. I suspect there's some crumbs still hanging around that I have to clean up. Any suggestions?

Saturday, April 28, 2012

TrimSlice server project completed.

   It took a couple of weeks and several false starts, but my new home file server is running fine and sipping power.  

   The TrimSlice is an Nvidea Tegra development board, enclosed in a solid aluminium case.  The case is the heatsink for the chips, at least the top of the case is.   The board has most of the silicon on the bottom, and is installed in the case with the bottom up, making contact with the top of the case.  I believe this was done intentionally, to allow the heat from the chips to radiate away, rather than be trapped beneath the unit and build up.

   I bought the bare bones unit, which does not come with wifi, or a built in SSD.   It does have ample connectivity though, with four USB2 ports, a single HDMI port, a micro serial port, one internal micro SD slot, one external standard SD slot, audio out, video in, spidif digital out, and gigabit ethernet.   Power is via an included wall wort rated at 12volts at 2 amps.

   Internals:  an ARM dual core cpu, 1 gigabyte of memory, with almost 200M set aside as shared video memory for the nvidea tegra2 graphics.

   There are several guides online for installing several of the major linux distros.   CompuLabs also provides their own ubuntu remix in live CD image form.  You can burn their image to an SD card, boot the device and install to another SD card or Micro SD for use as your system drive.

   I had a rough start.   Compulabs download links for their installer was an early version based on ubuntu 10.04, and it is a bit buggy on the bare bones model.  What I discovered over time was that their original image was based on the standard model and some assumptions were made about an internal SSD.  
   Initially, I couldn't get it to install to any media I tried.  It would randomly pause and eventually time out during the archive extraction phase, aborting with an error, "can't write".  

    After several tries, I went to their forums and discovered a link to a just released updated version, based on ubuntu 11.04.   This image did install ok, and I could boot the unit up as a desktop OS and use it.   I played around with it a bit, browsing the web, running libre office, etc.  It works well enough, but there is huge delays due to very poor I/O performance to the micro SD I was running off.   I eventually installed to a catagory 4 SD card and got better performance, but still very poor compared to other systems I've run off flash memory media.

   I also had problems with filesystem corruption.  Over time, the system would get very crashy and unstable.  Pulling the card and running fsck against it on my desktop would reveal LOTS of file system errors.   This was very disturbing, but I eventually figured out what was going on.

  When you shutdown the TrimSlice, it goes into a standby state of sorts, and doesn't appear to sync the file system.   That leads to bad corruption.   My work around has been to manually do a sync before shutting down, and I have no more file system issues.

   My application for this little box is a home server, so I really don't need all of the desktop stuff.  Using tasksel, I trimmed the OS down to a simple server, and began configuring.   Either the arm version of tasksel is a bit broken, or their build of the OS is just a bit too far away from the original.  Several services had to be re-installed, and a few things fixed.

  Samba:    Although samba was still installed, nmbd does not start automatically on boot.  I simply added it to /etc/rc.local.  I ended up adding a few things there.     Now, I could share directories with samba, but found that I couldn't mount shares from other machines.   CIFS support is not present in the kernal!   I may eventually build a new kernel to get around this, but it's only a minor omission in my particular application.

  NFS:  I had to install nfs-kernel-server, but it worked as expected.

  The ARMel repositories have most of the popular software present, so I was easily able to install ntp, mpd, inyadyn, rtorrent and a few other things.   I ended up having to add them to rc.local to get them running at boot.

   One note regarding video.   The CompuLabs supplied OS does work well for a desktop OS, but I had trouble with both of the DVI capable LCD monitors I own.  The display would come up at the wrong sync rate sometimes, only allowing a quarter of the screen to be viewed across the full monitor.  Sometimes unplugging and replugging the hdmi cable would fix it, othertimes not.   In my final setup, I don't need video, so it's not a big deal for me.

   The built in serial port is useful.  A root terminal is present there at boot, so a simple null modem cable and laptop always gives you a way in to the machine if you're having video or networking trouble.

   Overall, it's working great as a server.  It only draws 180-250 milliamps during operation, and doesn't get very warm at all.   I suplement it's power source with overflow from my hobby solar setup, so most of the day, it's running completely off solar.   The TrimSlice and my external 1TB HD together only draws around 800 milliamps total at 12 volts.   Pretty amazing really.

Sunday, April 8, 2012

Trim Slice. My new home server.

I have just ordered a bare bones Trim Slice.

My plan is to use it as a replacement for my current home fileserver. You see, my current setup is an old MaxTerm thin client with a cirix system-on-a-chip cpu that is basically a really fast 486. The reason for the wimpy hardware is power consumption.

I have a small hobbiest solar setup here. Three 15W panels on the roof and a 200Ahr deep cycle battery. I use the power for some lighting, running my ham radios, charging the cell phone, nook ereader, kids ipad, etc. Also, when the battery is topped off, I have a bleed over system that feeds the surplus power into the fileserver. Most days, it runs for 3-4 hrs completely on solar power.

The downside of the maxterm, is the I/O speed of it. Even though I upgraded it with a combo 1Gbps ethernet and USB 2 card, it can't feed data at anything much above 100Mbit ethernet speeds. That wimpy CPU just can't handle it. Power wise, the maxterm draws about 1.2 Amps at 12V. That's 14.4 watts.

The Trim Slice is a cool gadget. Built around the tegra chips, its a fast CPU, plenty of I/O, including a 1Gbps ethernet port. It will triple the performance potential of my current server, and drop power consumption to 4 Watts!

Fortunately, debian comes in an armel flavor, which should run just fine on it. I'll set up the OS on an SD card for the machine to boot off, and my current data drive, which is a 1TB drive in a 12V powered usb connected enclosure, will plug right in.

I'll write up an article on the setup of the device, issues that might crop up, and performance info on the finished server.

It occurs to me, that this little box could be a minimal desktop system in a classroom, or 12V powered setup like a mobile home. Robot controller? Car computer? Set top media player?

I'll get it in about two weeks, check back for my report.