Apple

xrayspx's picture

Two Step Remote Assistance Tool

Music: 

My mom has a Mac, and occasionally something will fuck up in a way that is best fixed by me having some control over her machine.  I had one of those cases last week and it was embarrassing that there was no good way for me to get remote access.  Google Meet doesn't cut it, but there's a whole other Chrome Remote Desktop app, but that was a lot of hoops to install and gave up any hope of walking my mother through the install process.

xrayspx's picture

Tech Henge

Music: 

Shriekback - Nemesis



As noted previously we basically just bought our way into a retro-computer collection with the addition of an Atari ST and two further 8-bit systems. This created problems for us, but we decided to solve them with craftsmanship and as a result Natalie built an impressive henge.

Previously my office had a bookshelf that Natalie built while I was out of town for work. It worked great for 10 years or so but the shelves were only 10" deep, and while I was able to cram an impressive amount of stuff on there, it had to change. So we designed one 24" deep with a work surface a couple of inches deeper than that, and then a 20" hutch for the top section. This will allow us to have several layers of display items with storage behind them.
Because as is my motto: "If It's Not Display, It's In The Way"

So we've spent the last week setting everything up and trying to consolidate all the new stuff into bins, test what's working and what needs repair, and cabling up all the systems and network hardware. We put two 12u racks in the bottom, one is full of network hardware, NAS, and webservers and the other has several Atari 8-bit peripherals that are hooked up and then storage for in-progress projects like the Kaypro II. We designed it with the three cubbies to accommodate our printer and scanner, but decided that they were better used with books and stuff, so as a bonus we swapped out the top on a metal cabinet we already had and it really fits in well.

You can already see there's room for 4 computers/keyboards and mice "comfortably", and we could probably have 6 going if we really wanted to add anything more. We'll be spending some time to come trying to find the most effective way to fill this thing, but I think it's off to a good start, and we can nearly eat on our dining room table again, so that's a bonus! I think all we have left to do is unfortunately send the Elvis tapestry on a permanent vacation and replace him with 3 or 4 bookshelves to hold all the software and documentation we got with this haul.

xrayspx's picture

Mac Classic Pt. 2 - This is Fine

Music: 

Pailhead - I Will Refuse

Note: I say "We" a lot. Natalie has been doing at least as much of this work as me. She has a whole method that she likes for the tantalum caps so she pretty much installed all of those. She even discharged the CRT. We learned later that the Classic seems to bleed the CRT automatically which is nice. I'm still sticking a screwdriver back there every time though just to make sure.

Good and bad news on the Mac Classic front.

If you read in part one, we over-paid a princely sum for a Mac which "Works as intended", but which should really have been "For parts or repair" for 1/3 what we paid.

So I'm personally beholden to make this fucker run regardless of personal cost in blood or treasure at this point.

"Rookies do very tidy job and rightfully feel pleased"

We recapped the motherboard on the Mac Classic. We got a heat gun, generous with the tape all around to make sure we didn't mess up any other components, and quickly and easily got the old parts off, we cleaned the pads up with solder wick, tinned them with new solder and put in the replacement tantalum caps, applying a bit of flux and cleaning regularly along the way. No damaged pads, everything went extremely smoothly regardless of which of us held the iron. Natalie really did most of the installation of the new parts.

Before:

After:

"Rookie makes Rookie Mistake"

The eagle-eyed among you already see why my office smelled like shit all day last Saturday. Of course, tantalums don't note polarity the same way any electrolytic I've dealt with has. So we installed them all backwards.

I know I have seen at least one person mention that while doing a recap and replacing electrolytics with tantalums. In fact, in the box from the company we ordered the replacements from:

So it's not like there weren't ample people trying to get this information into my head. Oh well, happens. Here's the before & after, after the second recap:

I also took the cardboard shield off the high voltage board and saw sticky burnt electrolyte gack on the back of the board. That gack was the smell that took this machine beyond just "nicotine soaked" when you turned it on.

We've removed the high voltage board and will re-cap that in Part 3.

I'm in no position to recommend the hot air station we got, but it was just "not quite the cheapest one on Amazon". Came with some extras like a pair of side cutters and a couple pairs of tweezers, so that was helpful.

xrayspx's picture

Mac Classic - First Impression

Music: 

"Works As Intended" they said....

Unless Craigslist Guy was using a sharpie to play tic-tac-toe on the wavy checkerboard screen, we have different definitions of "intended".

Of course if the intention is that we have a project now, well then Mission Accomplished. Replacement caps are on the way. The board itself looks totally clean aside from the standard nicotine layer gooped everywhere, but no visible corrosion or damage.



xrayspx's picture

Caching Password passer

Similar to the RDP Launcher, I occasionally need to grab passwords that I use all the time from KeePassXC to paste into various forms or prompts. Basically anything I use more than once per day, I have defined in this script for quick access. I don't want to be able to remember these, and I also don't want to have to interact with the password manager UI if I'm in a shell.

xrayspx's picture

Setting up NoMachine NX over SSH

Music: 

As an Apple and Linux user, remote screen admin can be a colossal pain in the ass. On the Mac, we have a VNC server by default, but can't specify settings which will improve speed over slow connections, like lowering the color depth. I've tried alternate VNC servers in the past, but they all were painful to set up and still very slow over an SSH tunnel.

Several years ago I set up NoMachine's NX server, which is quite nearly as fast as MS RDP, and it's been working like a dream ever since.

This guide focuses on a Mac client connecting to a Mac server over an SSH tunnel.

Install NoMachine NX on both systems from the DMG. If everything is working, there should be a NoMachine menu in the menu bar on the server and some indicator that listening is enabled. Netstat should show the machine is listening on port 4000:

xrayspxs-iMac:~ xrayspx$ netstat -nat | grep 4000
tcp6 0 0 *.4000 *.* LISTEN
tcp4 0 0 *.4000 *.* LISTEN

With the server listening, on the client machine, set up a new connection. Most of this is totally default except that I un-checked "use UDP for multimedia" and set the target port to 4003:

To connect everything up over ssh, set up the tunnel by ssh'ing to your intermediate server. In my case I have the tunnel listen on port 4003, as shown in the new configuration setup, this is to prevent it overlapping with the NX server on the client machine:

ssh -N -L 4003:10.250.0.98:4000 xrayspx@raspberrypi

Verify the client-side machine is now listening on port 4003:

pro:~ xrayspx$ netstat -nat | grep 4003
tcp4 0 0 127.0.0.1.4003 *.* LISTEN
tcp6 0 0 ::1.4003 *.* LISTEN

Then launch the client connection to that local listening port. This can be done via the NX menu in the menu bar, but I automate all this so that I am just clicking on "NX to Home", and a script wakes up the home machine, builds the tunnel, and opens the connection:

On the Mac, you have to run nxplayer from the NoMachine.app package, on both Ubuntu and Mac, the session ".nxs" files are in ~/Documents/NoMachine:

/Applications/NoMachine.app/Contents/MacOS/nxplayer --session ~/Documents/NoMachine/Connection\ to\ iMac.nxs

The full script I run is more like this:

#! /bin/bash

#ssh into the ssh server and wake up the target system with WoL then hang out 10 seconds for the machine to absolutely be awake
ssh xrayspx@raspberrypi 'wakeimac'

sleep 10

#set up the ssh tunnel with listening port 4003
ssh -N -L 4003:10.250.0.98:4000 xrayspx@raspberrypi &

# I am tracking all the PIDs so I can kill them later, this tended to leave tunnels listening and crap after a session so they need to be killed
sshpid=`jobs -p`
shellpid="$$"

/Applications/NoMachine.app/Contents/MacOS/nxplayer --session ~/Documents/NoMachine/Connection\ to\ iMac.nxs

# On the Mac I can't actually kill the pids, since the nxplayer forks off and the script keeps running. On my Linux client, the nxplayer job holds the script from completing until I quit it. I'm sure there's a better easier way on the Mac.
#kill $sshpid; echo "killed pid $sshpid"
#kill $shellpid

xrayspx's picture

And With That

Music: 

I've bought my last MacBook

Who's to say this isn't /only/ on the Macbook product, and that the Macbook Pro might not have the stupid thing? Either way though this is bush league.

Previously

xrayspx's picture

Why use any specific OS?

Music: 

I was reading this Slashdot post about "why use linux" and pointing out all the good things we have.

But really the question applies to pretty much any OS now. A huge percentage of users could be told "you're using X at work" (well, not X, like a variable, $X) and they'd adapt, begin to prefer whatever OS, and buy it for their home computers. [I'm sure Linux would accelerate /fast/ in the case that a couple of major companies start deploying to the desktop (this is gonna be the year...).]


Macs

I own 3 Macs, but I'm as or more at home in Linux on the desktop (I didn't "switch" from Windows, I switched from Linux, by accident, and I stand by those words today). I only really use Free Software, even on the Macs, save for a couple of things to be addressed below... When I set up a Mac, the stuff I always set up is:

Chrome
LibreOffice
GIMP
Adium
Firefox
OpenEMU
iTerm
OwnCloud sync client

And that's about it, and you can run 37% of that functionality on any platform, subbing Pidgin and excluding a decent shell on some platforms (Cygwin doesn't count), which is weighted at 62% of the total functionality of any computer I use.

I use iTunes, Mail.App, and Photos, (which is loathsome), as well as calendaring and contacts, so not all Free Software, but I guess I use "Apple Software and Free Software" when on the Mac, but that's mainly because of aesthetics, not any functional advantage they may or may not have over Free alternatives. Mail.app looks nice, iTunes looks nice, it's nearly impossible to run Amarok on OSX, at least the last time I tried, they integrate well with their OS, etc. However we must be able to run things like Adobe software, and OmniGraffle. I'd hate my job without OmniGraffle.


Linux

On Linux, I can do a handful of small things I can't do on OSX, and the same thing the other way 'round. But I set everything up exactly the same. I prefer the OSX Keychain Encrypted Notes function over my GPG encrypted files, but just because it's smoother. OSX has improved in handling multiple monitors over the past few years, and KDE, and X in general, has gotten much worse at it. I like to have multiple screens, with multiple virtual desktops, and when I change virtual desktops, I want only that physical screen space to change. So I have Enlightenment. Easy (enough) and gorgeous, and all kinds of customizable.

Other things are a massive pain, Juniper SSL VPN with a requirement for 32-bit Java and Firefox. Come on everyone... But it works, and I use it day to day. It just took a month to get the machine set up the way I like, and it takes some upkeep when some package gets updated that breaks that arrangement. But it's never been a showstopper, because I'm a professional.

However, even for any non-professional, there are major cases for Linux:

Linux runs my home theatre, which boots to Kodi so I can stream TV and movies from our collection of ripped DVDs, watch online streams from the major networks, PBS, Archive, etc*. Chrome so we can watch local news, use Amazon and Hulu and stuff, and browse seamlessly through emulators for any game I care to play through N64/PS1 era. All controlled by the TV Remote (within Kodi) or any Android tablet or no-provider obsolete shitphone (With KDE Connect, Yay for KDE Connect!). Haven't touched the wireless keyboard in at least a month.

This is all doable on a $35 Raspberry Pi 3 right now. I know that part because of the video game cabinet which is on the horizon and which does exactly all this stuff, including Wipeout XL PS1 Games. I'm sure we will be doing build blogs on that.


Windows

So what about Windows? Not for my specific use cases, but why should anyone care who isn't old and curmudgeonly? I carry grudges maintain baggage from 20 years ago.

I hear there's transparency now kind of, and virtual desktops are finally a thing baked into the OS, but every time I log into my Windows 10 VM at work, I am infuriated by it, so why should I bother? Windows can suck it. That's all I know. I'm happy enough to do server admin of Windows servers, I don't much care either way whether I'm adminning Windows or Linux at the end of the day.

Desktop OS? No dice. How times change.

* Side Note: Please do not buy one of those "pre-built pirate box" Pi's with Kodi and a bunch of janky, buggy, potentially insecure plugins pre-installed. Kodi has very strong feelings about that, and I agree with them on the point that regular people who think this is going to be better than an Amazon Fire stick with Free TV streaming are going to:

A) Be disappointed
B) Bring awful attention to a fantastic project by unfairly associating them with and implying their endorsement of piracy and copyright infringement.
C) Could be setting themselves up to get owned by pre-installed botnets or whatever other backdoor/sniffer/malware nightmare scenario, I can't even imagine buying one of these...

People are of course going to download and use those plugins, but should know what they're doing, not blame Kodi for any fallout, and most importantly should not give money to thieves and scam artists, because that's dumb.

xrayspx's picture

Simple location aware ssh tunneling for Chrome (Mac)

Music: 

Hall and Oates - Private Eyes (Seriously, it just came on randomly)
and really, just as I finished formatting the stupid script, Big Brother from Humanwine was playing.

This is both a nice toy to have in a Big Brother Is Watching sense, and a glaring example of why one should never log in and use a Mac (or any other system obviously) as an Administrator. Just have a Regular Guy account, and escalate to Administrator/Root when needed. For example, this tool could be inserted by a script to cause all your browsing traffic to route through a proxy server of an attackers choosing. If you're not running as an Administrator, you can't write the file without escalating. (Example of the risk, though it wouldn't help here, since there is LCE to root...goddammit Apple...)

I had a use case recently where I wanted to have multiple copies of Chromium start in different profiles and with different proxy settings. I'm getting to the point at which I don't think that's really feasible, in that any new instance will assume the proxy settings of any already running instance.

BUT, I did get some cool location aware-ish proxying set up. Since one use case involves laptops, I'd like to see it use a local proxy when I'm home, and a remote proxy when I'm not at home (hosted VPS for instance).

I'm using ssh to set up a SOCKS5 proxy, and push all traffic including DNS through the tunnel, ssh'ing to different hosts based on different local system IPs. I have it checking en0 and en1 and if their IPs match my home subnet, it ssh's to a local system, if they are anything else, it will run against a publicly hosted system to which I can ssh.

Next step is to clean up after itself, so when you run Chromium (or Chrome), it will detect IPs, ssh to the appropriate host, and connect using that tunnel. When Chromium closes, it cleans up the SSH session so it's not just hanging around.

To use - Have a local and remote host you can ssh to using keys, and which allow you to forward. On the Mac, navigate to /Applications/Chromium.app/Contents/MacOS/. Rename Chromium to Chromium-bin. Drop this script in, chmod appropriately, and name it Chromium. Now when the Chromium app is run, it runs our script to set up proxies and launch the browser:


#! /bin/bash

ip0=`ifconfig en0 | grep -v inet6 | grep inet | awk '{print $2}' | awk -F "." '{print $1"."$2"."$3}'`
ip1=`ifconfig en1 | grep -v inet6 | grep inet | awk '{print $2}' | awk -F "." '{print $1"."$2"."$3}'`

if [ -z "$ip0"  ]
  then
   if [ "$ip1" = "192.168.30" ]
     then
       ssh -C2qTnN -D 8181 username@192.168.30.241 &

       proxypid=`jobs -p`
       /Applications/Chromium.app/Contents/MacOS/Chromium-bin --proxy-server="socks5://127.0.0.1:8181" --host-resolver-rules="MAP * ~NOTFOUND, EXCLUDE 127.0.0.1" --profile-directory=Tunnl 2>&1 /dev/null

       kill $proxypid

      else

        ssh -C2qTnN -D 8181 username@publichost.com &

        proxypid=`jobs -p`
        /Applications/Chromium.app/Contents/MacOS/Chromium-bin --proxy-server="socks5://127.0.0.1:8181" --host-resolver-rules="MAP * ~NOTFOUND, EXCLUDE 127.0.0.1" --profile-directory=Tunnl 2>&1 /dev/null

        kill $proxypid

      fi

  elif [ "$ip0" = "192.168.30" ]
    then
      ssh -C2qTnN -D 8181 username@192.168.30.241 &

      proxypid=`jobs -p`
      /Applications/Chromium.app/Contents/MacOS/Chromium-bin --proxy-server="socks5://127.0.0.1:8181" --host-resolver-rules="MAP * ~NOTFOUND, EXCLUDE 127.0.0.1" --profile-directory=Tunnl 2>&1 /dev/null

      kill $proxypid

  else

      ssh -C2qTnN -D 8181 username@publichost.com &

      proxypid=`jobs -p`
      /Applications/Chromium.app/Contents/MacOS/Chromium-bin --proxy-server="socks5://127.0.0.1:8181" --host-resolver-rules="MAP * ~NOTFOUND, EXCLUDE 127.0.0.1" --profile-directory=Tunnl 2>&1 /dev/null

      kill $proxypid

fi

xrayspx's picture

Post Purchase Comparison Shopping

Music: 

The Ettes - Teeth

This is just what the world needs, another smug mac owner. Since people seemed not to believe I do my homework and continue to offer me platform advice, I went and priced up an HP with the same specs as my new Pro.

All said and done, including stupid $250 for AppleCare, my new machine was $3248, delivered. The HP equivalent, a Z420 Workstation, was $3,707 + $45 shipping. That's for 6 core Xeon, base 6GB of memory (CRUCIAL...), 1TB 7200RPM drive, 1GB ATI card.

So $500 more for a machine with an OS I hate dealing with, sounds like a pretty good bargain. Oh, and it says right on the page that the NIC won't work with Windows 8, so that's pretty swell.

Lenovo would sell me a similar config, with a 4-core 3.30Ghz CPU for only $100 more than my machine, I couldn't get exactly the same 6 core Xeon in the S30 workstations I was looking at.

I think I'll take the bargain Apple product, thanks :-)

Overall though I'm pretty happy. Moving the software-RAID1 set between machines was just "move the drives, they work", which I didn't really expect.

Now, here's a Stack of Macs:

Fixed Tags:

Pages

Subscribe to RSS - Apple