Since I’ve just switched to my new laptop running High Sierra, I thought it would be good to update my rails software. The latest version is 2.5.0. I downloaded it and compiled it and got an error message when I tried to install rails.
Happy New Year! It’s 2018! This is the year that I turn 50. I feel like I should mark the occasion somehow. I have a pretty good idea of what I want to do the week of my birthday, but I’m not sure about the rest of the year.
As noted, with the new year, I’m starting to use my new MacBook Pro full-time. Last night, it took a few hours to copy everything from my old backup to this new laptop. Did it work perfectly, of course not. Plus, I don’t like copying everything from my old laptop to my new one. There is a lot of stuff that I could throw away, but it takes time to go through it all. So I copied just my old home directory, but not the Applications directory. I know there’s lots of stuff that won’t run or that should be updated, so I installed all that stuff manually.
The years just seem to be flying by. 2017 went by pretty quick. I have no complaints because I know how lucky I am. I’m in pretty good health. There are people who like to hang out with me, though I’m never really sure why. And while I’m not crazy wealthy, I can afford to do what I want and still give to causes I think are important. So, life is still definitely good. Let’s look at the details of how I hoped by year would go with how it actually went.
My last post talked about using xcopy to copy a bunch of files from one server to another. I had been running this for a day, but a couple of times the command failed with the error “Insufficient Memory”. Since my new server has four times as much memory and three or four times as much disk space, I didn’t think that error was actually true. A quick google search shows that this message usually comes up when filenames are over 255 characters long, which was going to be a problem for me. Instead, robocopy (robust copy) should be used. The command I’m now trying is:
I’m installing a new Windows 10 computer in our office to replace the old Windows XP one. All this computer is going to do is host our shared windows disk. Not a lot of people use this disk, but it’s really good for sharing files or if a student is going to work at different computers in the lab.
I had recently installed windows 10 on one of our computers at work. I was able to successfully add it to the domain, but then none of my users could login. The error message was:
On October 29, 2013, I bought unlocked iphone 5s for $689.56 plus $99 more for AppleCare. The phone works ok, but the battery wasn’t lasting very long. If I listed to music and tracked my ride to work and then went to the gym after work, it wouldn’t last through a short workout. That seemed pretty short to me, so I bought a new battery from ifixit to replace it. I put it in this morning. First of all, it was a royal pain to take the old battery out because it was basically glued into place with sticky strips. I had to just continually pry around the battery to get it unglued. And while I was prying, I know I cracked some plastic stuff. As far as I could tell, I got everything back together. However, when I turned the phone back on, I got a message that touch id didn’t work and the speaker wasn’t working either. I don’t use touch id at all, so I don’t care about that. The speaker is a bigger deal. I don’t know why it doesn’t work. I’ve taken the phone apart three more times to check all the connections and it still doesn’t work. Most importantly, the phone will no longer take a charge. So it’s basically junk because the battery is now dead. I find this incredibly annoying. I should not break my phone by just changing the battery. I’m done with Apple because this is bs. I’m basically paying $200/year for my phone, not including the service. This to me, is ridiculous. So I’m looking for a new phone. And the primary feature that I’m looking for is repairability. Here’s the list I’m looking at:
I bought this speaker yesterday to give to my Mom.
Now that I’m in a place where all ip addresses are handled by dhcp, I need to change how I do kickstart installs.
Today, I finished pulling up all my tomato and pepper plants. I also took down the old chickenwire fence I had around my raised bed. And I filled five grass clipping bags full of plants and weeds that I pulled. I had thought of trying to make my own compost pile. But I found out that the city will pick up the paper bags and I can pick up as much free mulch as I can carry from a city building not too far from my house. So this year at least, I’ve decided not to do any composting. I may change my mind in the future.
In my second summer of gardening, I’m thoroughly enjoying it. This year, in addition to tomatoes and peppers. Ted also gave me some beans, watermelon and pumpkin. And I also had zucchini. The pumpkin was weird. The vine grew like crazy all over the back of my house, but then died for some reason. I ended up getting one pumpkin, about the size of a 16″ softball. It was green when I picked it, but as it’s been sitting on my counter, it’s turning more orange. I picked one small watermelon and there are a couple more still growing. I haven’t yet cut it open to see how it looks or how it tastes. The tomatoes have been reliable. I planted some miniature red peppers and I like eating those the best. There are a lot of green ones out there now, so I think they tend to come a little later in the season than the tomatoes. I got a few good size zucchini. However, after I picked them, the plants seemed to die. Since I think I planted them too close together, I ended up pulling them out last month.
I have three pdf files that I want to merge into a single file. But I don’t want the three files to be on three separate pages. I want one big page with the three files all there.
We had some students who took a video with their phone and wanted to post it on an html page. The html code we used was:
<video controls="controls" width="400"> <source src="Robot.mp4" type="video/mp4"> Your browser does not support the video tag. </video>
In Chrome, this worked fine. But in Firefox, it would show like this.
When that happened, I went to Tools -> Web Developer -> Browser Console. I got a message like this:
HTTP "Content-Type" of "video/3gpp" is not supported. Load of media resource http://www.example.com/Robot.3gp failed.
This message was strange because I wasn’t posting a file called Robot.3gp, but one called Robot.mp4. So on my server, I checked the file.
$ file Robot.mp4 Robot.mp4: ISO Media, MPEG v4 system, 3GPP
So whatever created this file, actually made a 3gpp file and not a legit mp4. However, I found that you can convert a 3gpp file to mp4 using ffmpeg. I renamed my Robot.mp4 file to Robot.3gp and then converted it.
$ ffmpeg -i Robot.3gp -ab 64k -ar 44100 -strict -2 Robot.mp4 ffmpeg version 2.8.12 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Robot.3gp': Metadata: major_brand : 3gp5 minor_version : 0 compatible_brands: 3gp5isom creation_time : 2017-07-26 17:45:04 Duration: 00:00:20.23, start: 0.000000, bitrate: 5135 kb/s Stream #0:0(und): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m), 720x480, 5005 kb/s, 30 fps, 30 tbr, 90k tbn, 180k tbc (default) Metadata: rotate : 90 creation_time : 2017-07-26 17:45:04 Side data: displaymatrix: rotation of -90.00 degrees Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 123 kb/s (default) Metadata: creation_time : 2017-07-26 17:45:04 [libx264 @ 0x1e6d1e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 0x1e6d1e0] profile High, level 3.0 [libx264 @ 0x1e6d1e0] 264 - core 148 r2699 a5e06b9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'Robot.mp4': Metadata: major_brand : 3gp5 minor_version : 0 compatible_brands: 3gp5isom encoder : Lavf56.40.101 Stream #0:0(und): Video: h264 (libx264) ( / 0x0021), yuv420p, 480x720, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default) Metadata: creation_time : 2017-07-26 17:45:04 encoder : Lavc56.60.100 libx264 Stream #0:1(und): Audio: aac ( / 0x0040), 44100 Hz, stereo, fltp, 64 kb/s (default) Metadata: creation_time : 2017-07-26 17:45:04 encoder : Lavc56.60.100 aac Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help frame= 607 fps=178 q=-1.0 Lsize= 1593kB time=00:00:20.22 bitrate= 645.1kbits/s video:1408kB audio:162kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.439324% [libx264 @ 0x1e6d1e0] frame I:4 Avg QP:19.34 size: 9992 [libx264 @ 0x1e6d1e0] frame P:171 Avg QP:22.56 size: 4317 [libx264 @ 0x1e6d1e0] frame B:432 Avg QP:24.06 size: 1534 [libx264 @ 0x1e6d1e0] consecutive B-frames: 3.3% 2.6% 8.4% 85.7% [libx264 @ 0x1e6d1e0] mb I I16..4: 28.5% 58.4% 13.1% [libx264 @ 0x1e6d1e0] mb P I16..4: 4.2% 9.2% 1.8% P16..4: 37.9% 7.7% 5.0% 0.0% 0.0% skip:34.2% [libx264 @ 0x1e6d1e0] mb B I16..4: 0.3% 0.5% 0.1% B16..8: 42.5% 2.7% 0.4% direct: 1.4% skip:52.2% L0:48.5% L1:48.6% BI: 2.9% [libx264 @ 0x1e6d1e0] 8x8 transform intra:59.6% inter:80.2% [libx264 @ 0x1e6d1e0] coded y,uvDC,uvAC intra: 32.2% 41.0% 4.4% inter: 7.5% 10.5% 0.3% [libx264 @ 0x1e6d1e0] i16 v,h,dc,p: 33% 24% 26% 18% [libx264 @ 0x1e6d1e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 16% 45% 3% 9% 3% 9% 2% 3% [libx264 @ 0x1e6d1e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 14% 27% 3% 18% 4% 16% 2% 3% [libx264 @ 0x1e6d1e0] i8c dc,h,v,p: 61% 18% 20% 1% [libx264 @ 0x1e6d1e0] Weighted P-Frames: Y:2.3% UV:0.0% [libx264 @ 0x1e6d1e0] ref P L0: 56.2% 10.7% 21.3% 11.6% 0.1% [libx264 @ 0x1e6d1e0] ref B L0: 84.3% 11.6% 4.1% [libx264 @ 0x1e6d1e0] ref B L1: 94.4% 5.6% [libx264 @ 0x1e6d1e0] kb/s:569.65 $ ll Robot* -rwxr--r-- 1 hep html 12988147 Jul 27 12:53 Robot.3gp -rw-rw-r-- 1 hep html 1630980 Jul 27 13:43 Robot.mp4 $ file Robot.3gp Robot.3gp: ISO Media, MPEG v4 system, 3GPP file Robot.mp4 Robot.mp4: ISO Media, MPEG v4 system, version 1
Now the Robot.mp4 file plays in Firefox without a problem.
At work, we use some very old programs. In one program (layout), it opens up the other program (specctra). The weird error was that the keyboard would not work in specctra if it was started from layout. If I started it by itself from the command line, it worked perfectly. I looked at the logs when it started and found a lot of warnings that looked like this:
I had a user account that was compromised yesterday. Fortunately, all they used it for was to send out a ton of spam for 11 hours or so. The person whose account was compromised came in today to find over 50,000 bounced messages in her account. So I had a pretty good idea of which account was causing the problem. After stopping her mailer and then starting and stopping sendmail, I saw that the messages were still going out. I changed her password and that appeared to stop things. I kept an eye on things and will continue to do so for the rest of the day, to see if anything else goes wrong.
That was quick. 2017 is already halfway over. Thought I’d take a minute to see how the year is progressing so far.
On July 21st, I got up as usual and did some stretches for my knee, as I had started doing again a few weeks before, and was putting my shoes on when I felt a sharp pain in my back. I don’t know why, but I do know that I had done this before. So I had a pretty good idea of what to expect. It is now 10 days later and things feel pretty good. I started to be able to do normal things without a ton of pain after about a week. And as I noted in my previous blog post, ice is better than heat. And lying flat on the floor is quite helpful. Though, getting up from lying on the floor is quite painful. But I think it’ll be back to normal after another week. I’m mainly writing this to note how long things take to get better and how often this is happening.
All of my new users in my samba domain were getting this error when they tried to login to windows after I updated our ldap server. The problem was that I didn’t update my script to use the new SID on the new server. So for these users, the sambaSID and sambaPrimaryGroupSID values were wrong. I changed them with this ldif file.
Recently, I’ve upgraded some servers at work to RHEL7. I’ve had a few things that I didn’t plan for, but that’s to be expected when you do a major upgrade and you can’t test everything in advance. However, I have had one issue that is still causing problems. And ironically, it seems to affect my own account the most.
For quite a long time, I have wanted to write a book and try to sell it. For a multitude of reasons, I haven’t. As of yesterday, no more! I signed up for 30×500 to get started. I’m hoping to find out ways to determine if my idea will actually help people, thus making it worth doing. Am I sure about this? Absolutely not. Who do I think I am to write a book? I’m not an expert at anything. It will probably be the worst book ever and will sell zero copies. However, I’ve decided that this is something I want to try. I’ve decided that being afraid of failure is worse than failure itself. I want to give it a try. And the 30×500 class is a way to help me hedge my bets. It cost me $1900 and my goal is to make that back within the next three years. (Official date: March 8, 2020) Doable? I have no idea. But I’m going to put in the work on it. I’ve deleted everyone I follow on Twitter, except people that I know personally. So I shouldn’t be wasting any time there. I’ve also deleted all the bookmarks for blogs I like to read and youtube videos I like to watch. Again to not waste time. Lastly, I’ve created a new account on my laptop to use for studying and writing. So all of the programs and things that I have on my laptop aren’t available to this second account and thus I can’t have them open while I’m working. I’ve created a website for it. http://www.pickabout.com Let’s get started!
For the start of the year, I’ve been working on some little projects that I’ve enjoyed. I guess one of the projects was big. I finished three bookshelves for my cousins for xmas.
This one is strictly work-related.
Based on last year, I know I won’t keep up with checking in each month. However, January is usually pretty easy. Let’s go straight to the chart.
I love awk and use it a lot. Yesterday, I used it for something with multiline records. Awk on single lines is quick and easy to use, but I always have to look up what to do with multiline records. And I still don’t exactly understand everything about multiline records, but here’s what worked for me.