Mastodon Politics, Power, and Science

Saturday, November 10, 2012

3d printing notes and links

Every task that we humans do can be broken out into a series of steps, a chart of the work flow that we have to take from beginning to end.  Most of learning a job comes from discovering the most efficient path to most rapidly and cheaply complete what needs to be done.   3d printing is no different.  Was I have been exploring http://www.thingiverse.com/ the past couple of weeks, in anticipation of getting my own printer, in 4 to 6 weeks, I have noticed that nearly every post contains some little hint, or pearl of wisdom that was probably very hard fought to figure out.  This page is an attempt to condense all this information into a single place for my own use, and for yours as well.

There is also a culture on the website, where giving proper attribution is important.  It is built into the website.  Although I believe there is one weakness, when you make a derivative of one work you click a button to create a new page.  But what if you combined two peoples work equally?  I see many people trying to give credit as well as possible, but then having to cut and paste links to the other people's links

Overall the process of 3D printing goes like this:

For the new user:
  1. Find a pre-made model
  2. Load model into printing software that came with the printer
  3. Press print
  4. It prints or it does not.
  5. Randomly adjust settings, repeat 3

This is pretty much where I am now.


I have started trying to learn more than this, so that when my printer arrives, I can start printing my own designs.  The workflow for designing a 3d shape for printing goes like this:

  1. Use software to create a shape.  
  2. Export this into a format that can be imported by printer software.

This seems easy enough.  Just two steps.  Except that you might need to create simple shapes, or start with an existing model or two and then move the files from one application to another in order to get access to features that one has, and the other does not.

You can take one shape and subtract it from another shape to create a unique mashup.  Maybe you add a slot to the back of a sculture so that it will fit the head of a nail in your wall.  Or you could fit a vesa mount onto one or more cases so you can screw a computer to the back of your LCD monitor.

But how do we do that?  One person on the site had this to say:

How to get a model from Sketchup into Blender: export as a Google Earth object, change the extension of the saved file to .zip, open the archive, retrieve the .dae file in the 'models' subdir and import that into Blender using the 'import Collada 1.4' option. 

That would take forever to figure out on your own.  Even with the directions someone could look at that and just see Greek.  So there are tricks to converting between each of the more popular applications that other people have figured out over time.  

Another person says: 

ddurant
    https://groups.google.com/forum/#!topic/makerbot/RpaXwt0x4v8
I spent several months like that when I started printing. NOTHING %$#!ing worked and I was ready to throw the damned thing (a Cupcake) out the window.
Start with an easy goal and just focus on learning how to do that well. Take notes, change one thing at a time, get a feel for what the different settings do. Don't go for layers at 2 microns or printing at 7000mm/s. Pick a simple target, stick with it until you make progress, figure out how you made progress. Don't be afraid to ask questions.
Unless you have broken hardware, you have enough hardware for now - throwing more at the machine (usually) just adds complexity. The hard part is understanding what the software is doing and developing a routine.
The biggest and most common mistake I see is that people start with the assumption that they understand what's going on. I did it, too - I'm a senior software developer so I should be good at this right out of the gate, right? Wrong. Months of frustration worth of wrong. Once I got that out of the way, I started making progress pretty quickly.
 

What are these major 3d modeling software for 3D printing? Ways to design your initial 3d shape:

3D animation software:
Blender
Poser
DAZStudio

One problem you are going to have is that the traditional 3d model is just an outline filled with empty space.  It has to be converted into a solid model  so that the printer software can handle it using the following software:

3D solid modelling software:
Google Sketchup
openscad 
qcad
other 3d modellers
Some people have been using the processing language to generate the models.



What you see mostly on the site are files that end in .stl extensions.  These files are the shapes, ready to be put into the printer software and printed.  Before you try to print something as a newbie, read the comments, and check to see if anyone else has posted a print that they made.


Applications to do this for my Makerbot Replicator 2 include:


--

Once you have finished the print, how do you make it more durable for real world use?  Screws will not hold well in plastic without some help.  A screw can pull out, or crack the plastic.  This page reminded me about metal inserts:

http://www.makersite.com/blog/2012/8/24/threads-in-a-3d-printed-part

You can get a variety of Heat set inserts for plastic pieces from a variety of sources such as McMaster:

"During installation, heated plastic flows into the insert's knurls and ridges. When the plastic solidifies, the insert resists torque and pull-out. Install or remove using a soldering iron with an installation or extraction tip (sold separately). Inserts are made from brass, which is nonmagnetic, corrosion resistant, and electrically conductive. Thread class is 2B for inch sizes and 6H for metric sizes.  Use the soldering iron with installation and extraction tips (sold separately). Operates on 120 volts AC, 60 Hz, 40 watts."

I have used these before with a plastic case, you just push them in with solder tip that fits them, for smaller ones the solder tip on a normal soldering iron works fine. 

Got Moodle 2.3 up and running fast as a vmware appliance

After fighting to install moodle 2.x for a while, I found a site that had moodle 2.3 already installed and configured as a vmware appliance. So you boot it up in vmware and it runs a virtual instance of the server on your box. No install needed and you can easily revert back to a previous version if your changes break things.

The appliance is from here:
http://www.turnkeylinux.org/moodle

VMWare player, the latest free lite version of the software can be found here:
https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0





I followed the directions here to get the player loaded onto my Ubuntu 12.04 laptop:

http://www.liberiangeek.net/2012/09/install-vmware-player-5-0-in-ubuntu-12-04-precise-pangolin/?ModPagespeed=noscript 

This is very similar to images on ESX servers based on the high end vmware software.

VMWare might grab your mouse and not let go, hit the control and alt keys at the same time to get your mouse back.


There are a lot of other virtual appliances all configured and ready to go at this site:
http://www.vmware.com/appliances/deploy/browse.html


Friday, November 9, 2012

My world famous burrito style hot dogs

 Very good, and a lot less messy than traditional hot dogs. The thin bread gives you a lot less carbs than a regular bun. 
  1. Lay out the flour tortilla.
  2. Put mustard, ketchup, relish, cheese, onions, chilli sauce, anything you would on a regular hot dog. 
  3. Spread it out to about an inch from the edge. 
  4. Put two hot dogs in the middle of the tortilla, side by side. 
  5. Fold the bread up over the ends of the hot dogs to seal the ends.
  6. Fold the two sides up and over top the hot dogs, overlapping the two sides.
  7. Roll it up in a paper towel, microwave for 30 seconds, 
  8. Flip, microwave 30 more seconds, 
  9. Wait a minute for the heat to evenly distribute. 
  10. Then eat!

Sunday, November 4, 2012

the raspi as a business solution

I first used an X-terminal in a computer lab in the early 1990's.  I was an instant convert.  The screens were only monochrome, but they were 21", which was amazing, compared to the usual 12" screens that most people had.  But what was really amazing about the computers, was that no matter which terminal I logged into, I had complete access to all my files and all my programs.  And I was connected to a very powerful sun server that could crunch numbers faster than any desktop machine I had ever used.   As I moved into the windows world I was never satisfied with having my files only on the one computer.  Sure, I could save the files to a network drive, too, but then which file was the up-to-date file?  And even if I access the file from another desktop machine, there is no guarantee that the software will be installed on that machine, which means having to purchase another copy of the software.
 
As a concept, I am going to get a higher end raspberry pi, print out a vesa mounted case and mount it to the back of a monitor.  At that point I am going to configure the raspi to connect to my main linux server using XDMCP using the instructions here:  http://tldp.org/HOWTO/XDMCP-HOWTO

It would also be possible to go full Linux Terminal Server Project (LTSP) and have a raspi boot into that framework, they are working on that here:  http://elinux.org/RPi_Projects

I am more interested in configuring the raspi to connect as an X-terminal to my main server.  Monitors are dirt cheap now, and so is the raspi, so combining the two of them together and having them connect to a very powerful back end server is a powerful solution for both home and business.

X-terminals take almost no maintenance and you could replace the entire raspi setup for just $25.  A 20 inch monitor is just $110.  Throw in a keyboard and mouse for about $15 and you can put a complete computer in for just $160 a seat.    A 26" monitor would just add $60 per seat. 

Instead of spending $600 a seat on 10 desktop computers and a couple of thousand dollars on a server, you can spend $1600 on the computers, and then build an amazingly powerful main server with part of the $6,400 you would have spend on the weak desktop machines and weak server in the first scenario.   This main server will be much faster than any desktop machine.  Dual quad core with 32 GB of ram, mirrored raid drives. 

The x-terminals would be on their own network that only connects to the main server.  No anti-viruses needed per seat.  Maintenance is easy.  If the terminal is down, just swap it out with a different one.  Until the terminal is replaced,  all a user has to do is to log into any other computer and have full access to all their software and files.   You could even deploy a terminal into someone's home and have it connect into the company securely though the firewall using a Virtual Private Network (VPN), so even that client would only exist on the client network and be completely secure.   

Because all the files are in a central location, backing them up is easy.  I prefer using rbackup.  It creates a full backup, and then incrementally backs up every user file every hour.  It has directories that each look like they contain a full backup at that hour, saving disk space by hard linking back to all the files that haven't changed since the last backup.  It is easy to put a link on each users desktop that directs them to the last backup, or to their backup directory

If users have software that only runs on Windows it is trivially easy to run a single multi-user windows server and connect into that box using citrix to put the window app right onto their x-terminal screen.  This is built into windows server which provides Remote Desktop Services, in a similar way that X-windows works : http://blogs.technet.com/b/windowsserver/archive/2012/05/09/windows-server-2012-remote-desktop-services-rds.aspx  You can install anti-virus, anti-spyware,  and all that on the windows box to keep it protected, and physically firewall all access to the windows box to keep it from being infected and taken over by worms and viruses.  And you can mount the directories from the unix server to their home directories on the windows side so that they have full access to all their files on either the Windows side, or the Linux side of things.

I'd do all my print queues and mail through the Linux server, because it is just so much easier to maintain and more reliable.  Where ever possible, switch to free and open software, this is one of many links that describes 75 solutions to replace expensive, unreliable windows software:  http://www.datamation.com/osrc/article.php/3877196/75-Open-Source-Tools-to-Replace-Apps-You-Use-Every-Day.htm

You can wean people over to open source software on windows first, and then when they find the same tools available on Linux, they will spend more time working with the identical apps there.

Why would a business change in this way?  Because your competitors are all using Linux and Open Source more and more everyday.  And unless you work continuously to reduce every cost in your company, another company will, and will drive you out of business.   Using open source software effectively provides a competitive advantage over those who do not.

You can reduce administrative costs, effectively eliminate desktop support costs, provide your employees with robust access to their data files and programs, all while improving their productivity by giving them access to a server that is much more powerful than you could otherwise afford. 


How to boil eggs.

If your boiled eggs have a thick rind of green around the yokes, you are way overcooking the egg and making them taste and smell like sulfur.

Start with everything cold, put the eggs in the pot and just cover them with cold water.  Bring the water to a boil as quickly as you can and begin stirring the eggs gently as soon as the water starts to boil.  After about a minute your eggs should be at a full boil.  Turn the heat off and cover the pot to keep the heat in.

That is all the heat the eggs need to finish the cooking process.  You can move them to a back burner.  Now, wait about 20 minutes for medium eggs, or up to 30 minutes for large eggs.  Break an egg open to make sure they are fully cooked.  Everything should be solid, with the yokes a bright pure yellow in color.  You'll notice that the whites and yokes are both a little more tender than before. 

The last phase is to stop the cooking process.  Pour out the hot water from around the eggs, pour cold water in and put in a tray of ice cubes.  Once everything is cold, take the eggs out and let them dry, then put into a baggy and put them in the fridge.  Eat them when you want them.


Saturday, November 3, 2012

Building my own xmbc media client box

Update:  I was finally successful in replacing my old disabled by the corporation media box... Raspberry Pi using the Raspbmc distribution:  http://mystry-geek.blogspot.com/2013/05/finally-got-raspberry-pi-to-try-out.html


I've given up on netgear. Building my own media center box. I tried out the xbmcbuntu distro booting from a flash drive and it was very polished and more capable out of the box than any commercial media device. 
But I hear that Sabayon Linux includes a very well configured version of xbmc, so I am installing that version on an old box with a green system that only draws 60Watts to see 
how it performs there. Concerned that it might need more graphics card than that mother board provides.

The best two things so far... a ted talks channel and apple movie trailer channel.
I am on Linux, so I did the following:
To create the bootable flash drive to try out the xbmcbuntu release I got the iso from here:
http://xbmc.org/download/ 
Click on the far right icon and save the .iso file.
Then you need to write the .iso out to the flash drive, I used the following command:

usb-creator-gtk

to bring up an interface to burn the .iso to the flash drive.  I gave the device a couple of Gigs of space to save stuff perminantly so I could play around with things.

Then I had to figure out how to get to a selection menu on boot up to get a menu to select the flash drive to boot from.  On my asus eee pc I had to go into windows and disable express gate software, then I could press esc and f2 at boot and get to the little text menu to select the flash drive.  
Once I booted into xbmc I was a little amazed.  The interface is very stunning and polished.  It blows away anything can get from any vendor at this time.   It has hundreds of plug-ins to allow you to access many websites.  
I had a Ted talks channel and an Apple movie preview channel working in just seconds.
When I get home tonight I am going to try xmbc with the mediatomb server running on another box I have to see how they work and play together.     

Friday, November 2, 2012

Looking at firmware update files and compiling files.

Update:  I was finally successful in replacing my old disabled by the corporation media box... Raspberry Pi using the Raspbmc distribution:  http://mystry-geek.blogspot.com/2013/05/finally-got-raspberry-pi-to-try-out.html


It is obvious that nobody ever managed to compile the little bit of code that netgear released for the eva2000.   And nobody ever got a firmware file to directly update the little box.  I am not even positive it can update other than over the network.  

Trying to find and extract out enough binaries from various similar boxes to my vendor deactivated netgear eva2000 in order to install a new firmware to the system.

I used the following command to see if the system could ID the file:

file binaryfilename.bin

And it told me:


So I took a look at the contents of the file directly with a hex viewer:

od -ah binaryfilename.bin | 

the output from that is:

0000000   e   a   f   b   2   6   b   c   0   b   1   9   d   3   f   1
           6165    6266    3632    6362    6230    3931    3364    3166
0000020   0   4   6   3   4   3   2   5   4   a   5   e   f   e   4   1
           3430    3336    3334    3532    6134    6535    6566    3134
0000040   E   =   M   ( nul   @ dc1 etx etx nul nul nul nul nul nul nul
           3d45    28cd    4000    0311    0003    0000    0000    0000
0000060   C   o   m   p   r   e   s   s   e   d  sp   R   O   M   F   S
           6f43    706d    6572    7373    6465    5220    4d4f    5346
0000100  fs   [  so   T nul nul nul nul   k   & nul nul   K  so nul nul
           db9c    d40e    0000    0000    266b    0000    0ecb    0000
0000120   C   o   m   p   r   e   s   s   e   d nul nul nul nul nul nul
           6f43    706d    6572    7373    6465    0000    0000    0000
0000140   m   A   l etx   D soh nul   d   @ eot nul nul   m   A   l etx
           41ed    03ec    0144    6400    04c0    0000    41ed    03ec

I could see the start of the compressed file system started 32 bytes in with the byte pattern "3d45    28cd", the header must have some sort of checksum or other meta data about the install.  So I extracted the file following the leading 32 bytes with:

dd if=binaryfilename.bin bs=1 skip=32 of=test.fs

And I was finally able to mount the compressed filesystem:


mkdir m #gives a place to mount the device
sudo mount -t cramfs test.fs m  # mounts the file test.fs onto m.

The you can browse into m and see everything installed on that drive.



I did a full scan of all open ports on the eva2000 with nmap

sudo nmap  -p 1-65535 192.168.1.70


 Starting Nmap 5.21 ( http://nmap.org ) at 2012-11-02 22:44 EDT
Nmap scan report for unknown0026f23a9297.att.net (192.168.1.70)
Host is up (0.0033s latency).
Not shown: 65533 closed ports
PORT      STATE SERVICE
51887/tcp open  unknown
63681/tcp open  unknown
MAC Address: 00:26:F2:3A:92:97 (Netgear)

Nmap done: 1 IP address (1 host up) scanned in 12.92 seconds


and saw the following two TCP ports open:  51887 and 63681

Telneting into both ports and hitting return a few times gave me this error:

>telnet 192.168.1.70 51887

Trying 192.168.1.70...
Connected to 192.168.1.70.
Escape character is '^]'.


HTTP/1.1 412 Failed
Server: Verismo, POSIX, DLNADOC/1.00 INTEL_NMPR/2.1 UPnP/1.0 Intel MicroStack/1.0.1677
Content-Length: 0


> telnet 192.168.1.70 63681

Trying 192.168.1.70...
Connected to 192.168.1.70.
Escape character is '^]'.



Connection closed by foreign host.


Connecting a web browser to both of them just gives an xml output on 63681:

<root><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType><X_DLNADOC>urn:schemas-dlna-org:device-1-0</X_DLNADOC><friendlyName>Netgear EVA2000</friendlyName><manufacturer>NETGEAR</manufacturer><manufacturerURL>http://www.netgear.com</manufacturerURL><modelDescription>Digital Entertainer Live</modelDescription><modelName>EVA2000</modelName><modelNumber>EVA2000</modelNumber><serialNumber> </serialNumber><UDN>uuid:[redacted]</UDN><serviceList><service><serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType><serviceId>urn:upnp-org:serviceId:AVT_1-0</serviceId><SCPDURL>AVTransport/scpd.xml</SCPDURL><controlURL>AVTransport/control</controlURL><eventSubURL>AVTransport/event</eventSubURL></service></serviceList></device></root>

Which appears to be a DLNA server.

--

I will try to wireshark after a soft reboot to see what server it looks for an update on.  If I can go to that server myself it might tell me something.  And I might be able to do a man in the middle attack on my own box to intercept any encrypted communcation if they do it over https.

The Assumption-List Project, with the Two-Body Problem as Entry One

  Constitutions for Calculations The Assumption-List Project, with the Two-Body Problem as Entry One Version 1.0 — public draft, open for am...