Working with ethernet


Pre-fabricated Cables and Testing

Start off by grabbing one of the blue cables (mostly CAT6) that you have laying around. They are usually provided when you purchase a router or switch. You’ll use this cable to see the output of the tester when it is hooked up to a good cable. The lights on both parts proceed in linear sequence 1 through 8. Feel free to use these cables to connect between a local switch and devices. Don’t run these cables through the house.
Figure 1. Ethernet continuity tester.  Image source:
http://www.networktechinc.com/nti/images/items/tester-cable.jpg


Wire on the spool

When purchasing the gray/beige CAT 5 or 6 cable at the store, make sure that it is PLENUM rated for running through homes. With these cables, you can read the print on the side of the cable and see a UL
designation.

Crimping

Look at the pre-made cables and Figure 2. Notice that the ordering
of the inner striped Green and striped Blue wires is different than the outer Orange and Brown wires. When inserting the wires into the connector make sure that they are going all the way to the end of the connector. When you crimp, you are pushing little metal teeth into the wire at the very end.


Don’t over trim the cable jacket. It is compressed by a plastic piece during the crimping to help hold everything in place.

The crimper is designed so that when you start crimping it doesn’t release until you’ve compressed everything all the way.

Test that the connector was successfully installed with the continuity tester.


Figure 2.  RJ45 Connector
Image source: http://www.telcodepot.com/images/ricky-cat5e-jack.jpg 

Modular plug crimper


HP DM1 revitalized



A couple of years ago I picked up an HP DM1-3025DX as a fun little affordable Windows 7 portable computer. It came stock with an AMD E-350 dual core processor, an 11" 720P display, a speedy 7200rpm 250G HD, 3G of RAM, web cam, HDMI and VGA output. It also has 802.11n, gigabit ethernet and bluetooth.

Hardware upgrades

I upgraded the computer to 8G of RAM and a Seagate 1TB hybrid drive that I had left over from another project.

Windows 10

I recently upgraded the DM1 to Windows 10. All the devices worked as expected post upgrade. My only complaint was with the background updating. Whenever it was running the CPU and disk usage would spike. This was with the factory HD. I was surprised by how much disk activity there was. With the HD being a 7200rpm drive it should have been fast enough. So, other than being a bit slower than I care for it was an okay experience.

Linux Mint

There were a number of reasons I chose to try Linux Mint on this laptop
  • The just okay performance of Windows 10
  • I already have a powerful Windows 10 laptop
  • I don't have a computer running Linux natively
  • I don't care for the Ubuntu interface
  • I do like the clean Linux Mint Cinnamon UI

The installation

I reset the Windows 10 installation to "new". I then removed that hard disk and replaced it with a Seagate 1TB hybrid drive.

Working on a Windows machine, I downloaded the ISO image from the Linux Mint website Then I picked up a copy of rufus for "burning" the ISO to a USB thumb drive. Next, I had to drop into the CMOS settings and reconfigure the boot order allowing for boot from USB.

Post installation, all of the laptop devices seemed to work properly except for Bluetooth. Research points to this potentially being a problem with this particular release of Mint.

I used a Logitech Anywhere MX mouse with this computer. I had previously paired the mouse and dongle under Windows. I did some research and found that there is software for working with the unifying dongles.

Software Installed on top of the base install

  • Atom w/Markdown extension
  • Google Hangout - has a bug that leaves the camera active post chat
  • cheese - because I needed a way to turn off the camera
  • Flash for Firefox
  • slack
  • mongodb w/developer settings
  • git
  • node.js

Observations

It did seem like the computer took a long time to boot with Mint. However, I've observed the same behavior on other more powerful computers running Linux.

PDF viewing was slow when I was viewing some rather large PDFs of graphic novels. Rendering and scrolling was painfully slow. However, when viewing more "normal" type PDFs like a one page hand out or a 100+ page text the performance was acceptable.

Web browsing and rendering of more complicated sites was slow.

Atom performed acceptably with Python as well as Markdown with preview.

Overall, I found the Linux experience enticing. I feel that I would rather use the laptop with Linux than Windows 10. This configuration is a pretty good balance of a don't worry about it on the go laptop. However, this form factor and sub-optimal performance does leave me longing for a laptop like what I envision the second generation retina MacBook will be like. Although, that will cost significantly more!

Update

Well, while Linux was enticing the overall experience/performance wasn't good enough to keep me hooked.  So, I thought I would continue the experiment and finish off with an apples to apples comparison with Windows.  I did a fresh load of Windows 10 on the Seagate hybrid drive.  This configuration performs much better than the earlier configuration.  I tested the Windows installation with Firefox, Atom.io, node.js, Python, git and mongoDB.  The machine is still not a power house.  However, it is acceptable performance.   Also, the boot time is much faster than it was for Linux.  At least for now, I will be keeping the machine configured with Windows 10.

mongoexport json format UTF-8 characters

So, you just did an export of your mongoDB database into a JSON formatted file called exported.json.  In part, you did this because you have this crazy idea of using the JSON with another application.  Then you see some strange stuff in the URL fields you exported.  Specifically, you see stuff like \u0026 in them.  These are actually UTF-8 codes for the % (percent) symbol.  If you want to work the exported data back around to the stored format, you’ll want to check out Python’s json library.  I’ve included a starting point below.

import json
f = open('exported.json')
for line in f:
    print json.loads(line),
f.close()

Show, don’t tell

I recently read an article about writing techniques that talked about “showing” the reader what was happening versus “telling” them.  An example of telling a story is: “it was bitterly cold outside.”  Or we could show the reader: “I braced myself as I headed outside.  Exiting the building I hear the rope on the flag slapping against the pole.  The straining flag appears to glow with the sun behind it.  My body reflexively shivers when the next wind gust hits.  I chose the wrong jacket.”   This same principle of show, don’t tell can be applied to business and IT. 

As an example, you could say we’re experience great growth year over year or you could show a simple graphic and let people draw their own conclusions.  In this graphic I also draw from the viewpoint of less is more.  There are no axis, scales or excess colors and labels as they don’t bring any value.  The graphic simply shows a value of 20 for 2013 and 40 for 2014.  My challenge to you is to think where you can apply show, don’t tell in your own writing, presentations and applications.

image