Install Midnight Commander on a shared hosting account

The opportunity – your hosting account offers you shell access! 😀

The problem – they don’t have Midnight Commander installed! 😥

The background (skip to the solution!)

Ok for some of you, none of this is a problem.  You don’t have shell access on your shared hosting account – most don’t.  For others, you have shell access and Midnight Commander is installed already – great!  For other, you live and breathe for the Linux command line and your intimate knowledge of command syntax and Linux “innards” means you can create a symphony with your keyboard.

I, however, am not a Linux “heavy” and my shared hosting account with O2switch (which I think is a REAL deal, given what you get and the price you pay) provides shell access but no Midnight Commander.  I have done some Linux server management in a mixed platform environment and appreciate what Linux brings to the table but I’m a Windows guy and a visual person.  Consequently, when I see that I have shell access, I’m glad to have the ability to do certain things that simple ftp access doesn’t give me.  On the other hand, given ONLY a command line, my productivity plummets.  Don’t get me wrong, I appreciate what can be done with a command line.  I once worked on a mini computer where the only access was the command line for commands, navigating and editing.  I loved it – but I was young and that was my job.  I could afford to learn on the job and really get good and fast.  Now I’ve got too many fish to fry to learn another environment when I’m not in it all the time.  So for those of us who live MOSTLY in a non-Linux environment, a visual environment helps a LOT.

The problem (when the sys admins won’t install Midnight Commander for you) is that Midnight Commander doesn’t have a set of pre-compiled binaries sitting around for you to run.  It depends heavily on system libraries and thus is typically dynamically linked for the distribution where it will run or is compiled from source into the environment where it will run.  By default it installs in directories to which a shared hosting client doesn’t have access.   Even the ONE statically-linked pre-compiled binary which I found on the internet did not work except when running from a directory to which I didn’t have access! 🙄

My issues were mostly in two areas:

  1. Navigation – the basic need for a file manager – the felt need for which things like Norton Commander came into existence!
  2. File Editing – I had access to vim and nano and neither of these are what I’d call “intuitive”.  I’m not calling them “powerless”

I searched high and low and couldn’t find a solution.  I thought I’d try and compile it from source.  The compilers are NOT available to client accounts so I needed to compile elsewhere and then copy the executable binary to my hosting account and see if that would work.  I couldn’t easily figure out what distribution O2switch used for their servers as none of those discovery commands worked.  I finally asked them and they let me know that it was a CentOS derivative. So I installed a CentOS distro in a VM on my Windows machine.  Not that I did everything right but that was one of the hardest distros to work with.  Then I tried to see if I could compile and then static link on a Ubuntu distro in order to have a fully static-linked binary that, theoretically, I could drop in and run. I’d never compiled on a Linux machine so there were things that made sense from days compiling on IBM mainframes but there was a lot that I didn’t get and I was really going around in circles.

I looked for other ncurses-based file managers and/or editors.  I got Ranger to work, but it was WAY different than what I was used to while it helped me navigate a little bit, it still required a knowledge of a set of commands (it has a vi-based interaction) that I simply didn’t have and that were NOT intuitive from my background.  I tried to get the Diakonos editor to work (written in Ruby), but I don’t know Ruby at all and I barely got anything to run and the system-dependencies it had required that I try to make an older version run…blah, blah, blah – just a mess!

So I finally went to the mailing list of the Midnight Commander project to ask the experts.  I found THE resource that I needed in Erdmut Pfeifer on that list.  He gave me the foundation for…

The Solution!

Read the details of my conversation on the mailing list on this thread.  That will give you more background on what I did and especially on the solution that Erdmut was able to give me.  Here is the essence of his answer to me:

You don’t necessarily need to create a statically linked version to get
it to run on a different box. just pack up all required shared libs (use
ldd” to find out which) plus the dynamic loader itself. The dynamic
loader is normally invoked indirectly via the system, but nothing keeps
you from calling it directly, passing it the name of the dynamically
linked binary to run and the directory where the packed-up libs reside –
see “man ld.so” for details (“ld.so” is the generic name of the dynamic
loader, the actual name on today’s 64-bit boxes is typically
ld-linux-x86-64.so.2, which itself is a symlink to ld-<version>.so).
The loader is a statically linked binary, and thus doesn’t need any
libs itself.
 
As I found myself needing something like this rather frequently, I’ve
put together a little Perl script which automates these steps.

So I got his script (which you can find in the thread on the mailing list) and it worked!  I had to keep tweaking some things to get it just right for my environment, but I got it to the point where I could ssh to my shell session and then type “mc” and I was in an environment that I knew and I could be productive.

Here are the steps I took to make it work in the O2switch environment. YMMV in other environments!  Also this was back in September 2016 so I’ve forgotten a bit of what I did and some of my notes are not as helpful to me at the moment, but I think they’ll get the persistant going in the right direction.

  1. Followed Erdmut’s directions in the thread
  2. Used mc from CentOS 6.8 package installation (it’s version 4.7.0.2)
  3. Added /usr and /etc parts (oops – I don’t totally remember what this means!  I think it’s creating a /usr and /etc structure in my local “mc” directory, which I named “mymc”, and copying in the files from the package installation that would normally be in the root “/usr” and root “/etc” directory structures in a typical system-wide installation)
  4. run strace -o ~/ztrace.txt -e trace=file ./mc and review the file not found output to see what needs to be fixed
  5. cp ~/mymc/etc/mc/Syntax ~/mymc/etc
  6. cp ~/mymc/etc/mc/mc.lib ~/mymc/etc
  7. cp ~/mymc/etc/mc/mc.menu ~/mymc/etc
  8. cp ~/mymc/usr/share/mc/skins ~/mymc/etc
  9. cp ~/mymc/etc/mc/filehighlight.ini ~/mymc/etc
  10. cp ~/mymc/etc/mc/mc.keymap ~/mymc/etc
  11. cp ~/mymc/usr/share/mc/mc.hint ~/mymc/etc/mc.hint.  (the “.” at the end is important!) (this brings the prompt)
  12. cp ~/mymc/usr/share/mc/mc.hlp ~/mymc/etc/mc.hlp. (the “.” at the end is important!)
  13. cp ~/mymc/etc/mc/mc.ext ~/mymc/etc
  14. cp ~/mymc/usr/share/mc/syntax ~/mymc/etc
  15. redo mcedit, mcview symbolic links (this still isn’t working yet – i.e. I don’t have the “mcedit” and “mcview” commands.  The editor and viewer work just fine but I can’t access them via “mcedit” and “mcview”)
  16. Below, I’m including a zipped up version of “~/mymc” which may work right out of the box.  I have it unzipped into the root of my home directory.  I would suggest doing the same.
  17. make symbolic link to ~ so that I can run ./mc to start (might not have to do this if you do the following)
  18. placed the following in ~/.bashrc so that I can simply type “mc” to start
    PATH=$PATH:$HOME/mymc
    export PATH
  19. had to change putty’s translation settings to ISO-8859-1:1998 (Latin-1, West Europe) to make the lines correct.  This is dependant on what your server’s settings are.  It’ll likely be either UTF-8 or ISO-8859-1:1998 (Latin-1, West Europe)

Here’s a zipped copy of my directory “mymc” with everything you need (normally) to run Midnight Commander 4.7.0.2 as an O2switch client.  You’ll have to do the path work afterward to make it more easily executable. It may work for other environments. Please let me know if it does!

Download here ==> mymc.zip

Lenovo Flex 4 1480 Signature Edition ideapad 80VD0007US review

For those who can’t wait:   4.5/5

So far so good – I really like this machine (despite the detailed “cons” section below) and I’ve used it fairly extensively for two months now.  It’s not perfect, but I feel like for the money, it’s an exceptional value.  I got it for $600 at Micro Center online in November of 2016. I had budgeted more, but I was looking for some very specific specifications/features. While I might have gotten a few other things with more money, I’m really quite pleased with this purchase. In fact, I might have had to pay a considerable amount more to get all the different features that I got on this machine.

I’m a freelance IT professional and my activities are extremely varied – programming, web development, server maintenance, network debugging, computer repair, light graphic design, etc.  Additionally, my leisure is often centered around a computer as well – like simple video watching, email writing (in a bilingual French/English context), light digital audio work, light photo/video work, etc.  Until this machine, I’d usually be on our desktop computer, but my wife is increasingly needing that for her creative projects and my old ASUS Eeepc netbook, reluctantly rendering what service it could (still running XP), was screaming for relief.

My basic criteria were:

  • Windows 10 Laptop
  • 12-14 inch screen
  • i5 or better processor
  • 8Gb RAM
  • 256Gb SSD
  • Windows 10

Pros:

  • Connectivity – All (3) USB 3.0 ports, HDMI, RJ45, SD Card Reader – As an IT technician, I sometimes need to have connectivity to two different networks at a time, and sometimes I need to connect and don’t have WIFI. So having both WIFI and wired connections are important and I don’t want to be carrying around dongles for RJ45 or have some low-bandwidth RJ45 adaptor.
  • Laptop, tent and tablet modes – This is important for me not so much as affording a real tablet experience but because I use this machine for at least two tablet-type tasks:
    1. As a big Kindle to read e-books – it’s actually a little big/heavy for that, but really not too bad.  I can also boost the character size nice and big and with the decent-sized screen, I still get quite a bit of text on one page.
    2. To replace paper chord charts/sheet music – When playing music, I used to lug lots of notebooks around ’cause I can’t remember the chords or words for a song when it’s not in front of me, nor the songs in a playlist when I can’t see all the titles.  I used my netbook for this but since it didn’t do the 360-degree screen swivel, I had to adjust all the music stands and it looked a bit funky.  Now, I can put this machine into tablet mode and fire up Songbook and say goodbye to heavy bags of paper!
  • SSD – I’ve never had an SSD drive in a machine before.  I think I’m in love!  I know it’s not ONLY the SSD drive that affects the speed, but I know that increasingly a spinning hard drive will be THE bottleneck in most situations.
  • Boot time – insanely fast
  • Backlit keyboard – While this wasn’t on my “basic list” of requirements, I can’t tell you how much I love having it. My house is not very “luminous”, shall we say, and, of course, I bought the machine in November.  The days are short, the nights are long and the keyboard is LIT! It will always be on my basic list of requirements from now on.
  • Touchscreen – again, I might have done without this, but with it, and the folding back screen, I can use this as a tablet.  There are other times where having the touchscreen is nice too – a quick pinch to zoom things, for example.
  • Full HD – My netbook was getting annoying with so many popup dialogs going beyond the screen boundaries.  That being said, I’d say that 1920 x 1080 is probably the minimum you’d want in screen resolution.  I could, frankly, use more but with a 14-inch screen, higher resolution would probably mean some really tiny text!
  • Fingerprint reader – again, not on my basic requirements list but it’s my second laptop I’ve owned that has it, and I REALLY love it.  Really speeds things up!  Also, I had created my machine user account as a local account and it had a fairly basic and easy to remember password.  As soon as I signed into the Windows Store for the first time however, my machine login was annoyingly converted to a Windows Live login (where I have a strong, random password).  So the fingerprint reader came in quite handy.
  • Ability to determine whether function keys work primarily as F1-F12 or the various function keys – as an IT-guy, I’m used to using F1-F12 as the primary use of those keys.  Increasingly, you have to jump through hoops to use those keys and the other functions are the primary use of the keys.  I like that Lenovo lets you choose which are the primary keys and which are secondary.
  • Build quality – I had hoped to have a business-class, metal-chassis machine but at this price range, it just wasn’t there.  That being said, I’d say that the build quality on this machine is excellent.  I’ve seen MUCH worse on consumer-grade machines.
  • Fast charge – the battery charge time is rapid.
  • Gen 7 i5 processor – This is a Kaby Lake processor.  I saw that in the CPU benchmarks, the i5 Kaby Lake out-performed i7 processors in other machines I was looking at.  Yeah, some day it’ll be old, but it’s nice to come in on this little performance boost.
  • Microsoft Signature Edition of Windows 10 – no bloatware.  There are a few Lenovo apps, but nothing really useless or redundant.
  • The Fan is quiet – if the CPU gets going, the fan WILL come on, but it’s not annoying at all.
  • Keyboard – for typing, I find the keyboard to be comfortable with good travel and feedback.

Cons

  • Right shift key – This has been talked about a LOT.  It truly is an unimaginable engineering error.  Additionally, when you see the margins between the edge of the keyboard and the edge of the machine, they COULD have given it a larger keyboard and arranged things differently.  I’m a QWERTY touch-typer but I type fairly regularly with an AZERTY layout since I live in France and work on computers here.  I tried initially to work with the bizarre placement and size of the right shift key.  It did not work.  So I installed KeyTweak and switched the up arrow and the shift key and now I’m very happy.  YES, it’s not perfect, but it really does work.  If you’re a real writer…well…maybe this will be a deal breaker, but for me, this is an acceptable workaround.  That does not change the fact that it’s an insane user experience error on the part of Lenovo.
  • Power supply – This is the other insane engineering flaw of this machine.  If you’re staying in North America, you can live with (but not easily) the included power supply.  If you’re traveling abroad, just plan now on buying an aftermarket adaptor.  I got this one and it’s great.  I can’t say enough bad about this adaptor.  I tried to leave a scathing review of it (not profane but VERY negative) on the Lenovo Shop site, but they refused to publish it.  Sure it charges fine, but it’s fairly short and ALL the weight and ALL the bulk of the adaptor is literally on the plug.  Even in a typical North American 2-outlet wall plug, putting it on the bottom plug can make it awkward for some plugs on the top.  Simply NOT thought-through on the part of Lenovo.
  • Track pad tap feel – The track pad feels like quality and the sensitivity seems to be quite good, but there is an annoying “feedback” when you tap it – kind of like something is “loose”.  I don’t think anything IS loose – nevertheless, it’s a “give” under your finger that’s pretty annoying.  It’s probably because the left/right click buttons are not separate buttons but integrated into the trackpad itself, meaning that it has to have some “give” in it to function.  I guess I would have preferred separate buttons.
  • Trackpad click noise – I’m very comfortable with using a trackpad.  I don’t have the need for an external mouse, etc.  That being said, there are times when you have to do a physical click.  On this trackpad, you can left-click and double left-click with tapping so you don’t need to physically depress the trackpad left-click zone most of the time.  BUT you DO have to right-click physically and I find that the noise and effort required in an otherwise very smooth and quiet experience to be annoying.  I do type rather heavily (old IBM terminal keyboard habits die hard), however when I make the effort to type more quietly, I still can’t do anything about that right-click noise.  Very annoying.
  • Battery Life – it’s “ok” but nothing to really shout about.  I can and do work a fair amount without the adaptor, but I certainly wouldn’t think of going anywhere without it as I can’t count on THAT much autonomy.
  • Accelerometer slow to react – When I convert to tablet mode (fold the screen back), or change the orientation of the machine from landscape to portrait or vice versa, the wait time for the screen to change is NOTHING like what I’m used to on my phone or my wife’s iPad – not even close.
  • Lenovo Yoga Mode Control – the process that turns off the keyboard when you put the machine in tablet mode is called “Yoga Mode Control” (ymc.exe).  I’ve noticed that when I switch back to regular laptop mode, ymc.exe will often just chew up CPU like nobody’s business.  It’s pretty annoying and I went out and found a utility called ServiceTray that would allow me to easily manage the service if I needed to stop/start it.  People complain about this on the forums.  Not sure that Lenovo has fixed it yet.
    (Edit: I’m not seeing this problem anymore – perhaps fixed)
  • Not a metal chassis – Not a big deal – yet.  We’ll just have to see how it wears over time.
  • Caps-lock notification icon delays typing – the caps lock key (which is also somehow annoyingly positioned in relation to the left-shift key – I can too easily hit the wrong one) displays a pop-up icon that overlays the screen when you use the key.  Depending on the flow of your typing, it can interrupt the flow.  Quite annoying and I don’t know if there is a way to adjust it.
  • Speakers – By this, principally I mean the volume – it isn’t overwhelming, and sometimes that’s not good!  We tried to watch a movie together once that we were streaming from Amazon.  The volume simply wasn’t sufficient to understand the dialog.  We had to switch to sharing a pair of ear buds!  There can be lots of variability in media volume levels and your machine needs to be able to compensate for that with strong volume levels.  This laptop does NOT have that.  Most of the time, in my personal use, I can get by just fine, but that little extra that you need for certain situations is missing. As for the quality of the sound, it’s ok – but I’m certainly not expecting audiophile quality or even booming bass from these tiny speakers.  Since you flip your screen around, your orientation to the speakers changes depending on the mode, so one needs to take that into consideration as well.
  • Combo headphone-mic jack – So far it’s not been a real issue, but I guess I’d have preferred separate jacks for microphone and headphones.  This will take more use to see if there are really any disadvantages to it (or advantages for that matter).

Finally! The USB key/Flash drive done right!

Kingston DataTraveler SE9 http://www.kingston.com/en/usb/personal_business#dtse9h

kingston_datatraveler_se9_32gbYeah, yeah…the rest of you have had one for awhile, but I just got mine today and I’m thoroughly impressed.  TINY, TINY, TINY and made of METAL!  No STUPID ring to fall off.  No plastic to break in my pocket.  No mechanism to get loose or flimsy.  So, they figured out lots of good stuff, here’s hoping the electronics inside are as well conceived as the package.  Even the 32gb price point is nice now. Well done Kingston!

Preparing for Fruitfulness

My 'ministry office' - aka 'the bat cave' Our school's iconic French chateau Our school happily received the news in the spring that a Christian school in Holland was going to donate "around 20" computers to our school to upgrade our computer lab. We had 19 computers that were getting pretty old! So we ended the school year by sending a LOT of stuff to the dump.  This emptied our computer lab and allowed us to restructure its layout and do a few other housekeeping things that as the school’s only IT staff, I’d wanted to do for awhile. BUT, it did leave us with only a firm but non-detailed hope that better stuff was, in fact, coming. Then the computers from Holland arrived and there were exactly 15 of them…and one didn’t work! (What’s a bit funny about this is that in French, there is a word for "around 15", quinzaine and a separate word for "around 20", vingtaine.  Repeatedly, I was told "vingtaine" for the number to expect.  When exactly 15 arrived, I thought that somewhat interesting that 15 was "around 20" and not "around 15!" Winking smile) They arrived with Dutch-language operating systems and no other information (like administrative passwords to facilitate any modifications to make them ready for our environment or information about operating system licenses or which machines had which problems, etc.)  These are all things which can, of course, be overcome, but which do add to the work…multiplied by 15 (or 14 at this point!)

My job this summer was to figure out what to do with these Dutch machines (make them work, make them speak French, make them connect to our internal network, connect them to the internet, decide on operating systems, etc.), prepare some additional systems to make up the lack of machines from Holland and overhaul one of our internal servers as well. Throughout the school this summer however, there were also practical renovation/beautification projects undertaken by teachers and parents (including us) in various parts of the small campus. My wife and I also have a vision for a house of prayer and worship to start in our area and so we simply committed to worshiping twice a week during the summer at church. So, our summer was pretty well laid out…while the majority of others around us scattered on vacation!

Real Alsatian grapes - though no wine production yet! Peaches!
I honestly don't know what these are! Our school grounds has an orchard on it and this summer we began to have production from all the fruit trees like I’ve never seen in our 7 years here. I tried the apples on one of the trees and became addicted! Incredibly good! Those apples became a constant source of physical sustenance for me throughout the summer while working on the computer network (work a couple hours, go out and shake the tree, eat, work some more, etc.) But it didn’t stop there. God really spoke to me through that tree…in two ways especially.
More peaches! First of all, the orchard’s fruitfulness spoke to me as a sign of the fruitfulness that He intends to bring to the school this year (or at least we’re entering into such a season). So many things, like apple trees, peach trees, and significant efforts in God’s Kingdom can take time to germinate, mature and finally bear significant fruit. In the meantime we prune when really needed but can often just become accustomed to the unfruitful presence of something (after all, it’s still pretty and gives shade, etc.)…until suddenly it produces a bumper crop! At that point, we need to start picking or it falls on the ground and rots. So these fruitful trees got me really praying for the fruitfulness at school this year, and that we would be ready to pick what ripens.
Apples!  Though not the ones from the BEST tree, still quite good! Secondly, my efforts this summer were sometimes frustrating and tiring and discouragement would knock routinely on my door. During some of these times, the Lord reminded me of Song of Solomon 2:3 “Like an apple tree among the trees of the forest, so is my beloved among the young men. In his shade I took great delight and sat down, and his fruit was sweet to my taste.” Just as those apples were incredibly good, I needed to stop my intellectual head-banging and contemplate the goodness of Jesus and let the refreshing nature of His presence invade and drive out the pressure and discouragement I was feeling.
Here are our APPLE (cough) computers in our lab

School started at the end of August and the computer lab is usable, but still much computer work remains. I, however, am excited by how God can and will take the summer pruning and cultivation work that many have done here and use it to enhance the growth, fruitfulness and multiplication that in the end, only He can bring.

And the winners are…

In this post I lamented the demise (at least for me) of Zoundry Raven.  Due to the evolutionary spaghetti of our WordPress-powered site, we have, essentially, two themes active at one time.  One theme is the one for my blog and the other is for the rest of the site where we talk about our family and mission and post our newsletters.  Zoundry could (with some gymnastics) handle both themes.  I’ve not found anything else that really could.  I even looked at Blog clients that one pays for and they are no more capable (often less) than the free options.  (don’t waste your money!)

In the end, Windows Live Writer had most of what I needed for my blog and its theme (though the Windows Live plugin situation is pretty lamentable) and I was able to set up BlogDesk to support our newsletter posts with its theme.  Neither is perfect but Zoundry had problems too.  So I think I have a solution that works for our needs and I’m pleased that I can move forward without too much gnashing of teeth!

Goodbye Zoundry Raven…hello ???

It’s with great sadness…ummm…ok, frustration…that I say goodbye to our blogging client of the last few years: Zoundry Raven.  I’ve searched MANY times for free and paid blogging clients for Windows and never found a reason to replace it.  I only searched back then when I found something perhaps missing or not fully developed yet in Raven.  Now, however, I’ve had to resume the search and this time…I think it’s for keeps.

Why?

Well, it stopped working!  I’ve had Windows 7 Pro x64 for almost a year now and Raven was working fine for most of that time.  About 2 months ago, it started having a problem.  I don’t blog that often so I can be sure just what changed.  In recommencing my search for blog clients, I was very disappointed in what I found so I thought I’d take a look at perhaps trying “fix” Raven.  Raven went “open source” a little while ago and unfortunately, it’s not gathered a development community, so development basically stopped at the version that stopped working for me.  I’ve never coded in Python but it looked interesting (still does) and I’d love to learn it.  One must be realistic from time to time however, and diving into a complex piece of software like Raven and trying to find the “bug” when you don’t know the language at all…well, let’s just say that I had my tiny pen knife and I was out to kill the elephant and eat it in one big bite…not gonna happen!

Each month we write newsletters that we post on our site using WordPress and send out as emails using phplist.  So, even if I don’t blog that often, each month comes around and I fire up the blog client and write something.  Well, it’s that time again and I’ve got to figure out how to make something work.  I’ve got an old XP laptop on its last legs where Raven is still working, but for me, I concede defeat.  I’ve got to make a change now.  So, yesterday I went looking again and was both semi-encouraged and frustrated.

First of all, I was, for the first time, open to the idea of buying a piece of software.  For most things, I’m really a freeware/open source (can we say cheap!) kind of guy so this was somewhat of a departure!  Anyway, after having looked over the options out there, I think I can safely say that paid blog clients are NOT any better than free ones!  Freeware can often come with a “price”: you get what you pay for.  Not in this case.  What I think I can say is that each blog client caters to a different type of usage and the paid ones are no different.  That’s why I liked Raven so much…it catered to what I do when I write blog posts and newsletters…at least it did so more than other clients.  I’ll admit that I’m pretty particular and there are features that are important to me that simply are not to others.

I’m also a “feature-hound” in general.  I’d much rather have “too much” functionality than “not enough.”

So, I’m down to three choices now:

I may have to pick more than one depending on what I’m doing.  Obviously Windows Live Writer is getting more and more capable all the time, building a good user base and will probably not be let go any time soon.  Post2Blog is already declared “unsupported” by its creators.  It’s got good potential functionality but definite buggy-ness that, of course, is not going to go away with time.  BlogDesk look really promising, but looking at their forums, I wonder how much more will be put into it.

I’ll try the newsletter today and see how it works for me in these three clients.  I’ll post a follow-up to this to state my choice(s) and why.

iTune out!

I really like NT Wright audio teachings. He stimulates and provokes and challenges and bridges many a theological gap. I found on the NT Wright page (http://ntwrightpage.com) recently a link to some lectures he did at Duke University’s 2010 Convocation and Pastor’s School. I happily went to download the free audio teachings and I couldn’t get past a page that said that iTunes was not found on my computer. Well duh! Of course it’s not found on my computer. I wish it could stay that way!

I detest iTunes and I detest Apple’s practice of creating “monopolistic” and “invasive” software. I’m duly convinced that much of what Apple creates in terms of hardware is really good and from a design standpoint is laudable (if stupidly expensive!). However, their handful of offerings that make it to the Windows world are hugely annoying! They’re probably just trying to stick to Microsoft for their clunky Mac offerings. Of course the losers in this war are the end-users, not the big corporations.

Having had experience in getting other streaming protocols to finally cough up a standard URL of a standard media file via circuitous editing of a series of downloaded files, I did various “view sources” and tried playing my results in different capable, non-invasive media players and tried changing the protocol from itms to http, etc. None of this worked. So I started out looking for specific freeware players capable of playing/downloading itms files. I failed…

Apple has started this thing (I hesitate to use the word “service” as it does us only a dis-service!) called iTunes U. iTunes U is a corner of the iTunes Music Store universe dedicated to more educational media files. They must make it pretty attractive to participate in. Personally, I find it reprehensible that Duke University would, in essence, force people to download Apple software to play a free academic mp3 lecture. I can’t imagine that the bandwidth hit or storage space is any kind of real problem for the university that they just couldn’t put their mp3 files up on their own servers somewhere where anyone could easily download them.

Anyway, I didn’t succeed in circumventing iTunes completely, but I did find this tutorial on how to install iTunes in a less invasive way: The unofficial guide to installing iTunes 10 without bloatware on the zdnet site. I highly recommend doing things this way if you simply need iTunes for some unique capability it offers and you don’t want it to be so invasive or huge. I would add however, this final step: Fire up autoruns after doing the install steps and do a search on Apple. Then you can delete autostarted tasks/services that you don’t want.

Technorati : , , , , , , , ,
Del.icio.us : , , , , , , , ,

The mysteriously constipated ADSL router

Recently I’ve experienced reeeeeeaaaaaallllllyyyyy slow load times for anything at wordpress.com and wordpress.org, including all wordpress.com individual blogs. They would finally load but with no formatting. So obviously something was getting gummed up in the works. I’ve solved the problem finally and so I’ll share my experience in hoping that it will help someone else.

Here’s my process of discovery and solution:

  • It’s only happening on these WordPress-hosted sites. Everything else is loading fine.
  • My Firefox has tons of addons so I load up IE and Google Chrome to see if it’s the browser messing up. Nope. Same results with other browsers.
  • I look at the Net tab of Firebug in Firefox to see what is not loading. I notice that s0.wp.com, s1.wp.com, s2.wp.com and s.wordpress.org are not loading. These all resolved to 93.184.220.20 for me.
  • I lookup “slow loading s0.wp.com” on Google and even in the recent posts there is not unanimous agreement that there is a “general” problem or outage.
  • We have K9 Web filtering on some computers but not others. I try wordpress.com on a non-filtered Windows box and on a headless linux box (a simple wget). Nope. Same results.
  • I do a traceroute/tracert. No problem. Works fine.
  • I can ping both the ip address and the domain
  • We use OpenDNS and its cache check page had no problems
  • I have access to a windows box via VNC that has a different ISP and it worked fine
  • I have access to a linux server at large French hosting service and via Webmin’s HTTP tunnel it worked fine

Process of elimination points to our house and not a specific computer or operating system in our house. What’s left? My Neuf box (SFR) ADSL router. Everything looks fine in its web interface, including its ability to ping and traceroute. It caught my eye that the uptime for my router was 51 days. This problem with WordPress I had noticed, maybe 2 weeks ago. In the past, I’ve had speed issues every once in a while and have discovered that rebooting the router can fix some of them. So, on a whim I thought I’d just reboot the router.

That fixed it. So I’m not sure exactly WHAT was the problem in the router that screwed up HTTP traffic to a single IP but not other traffic, but perhaps this will save you some time if you encounter something similar.

Technorati : , , , , , , , , ,
Del.icio.us : , , , , , , , , ,

Regular Expressions in Notepad++

I’ve always found regular expressions to be a real un-intuitive mind-bender. I’ve had some very limited success in using them…mostly in a linux command-line grepping situation where I had some very good examples to work from and had no other choice…i.e. I was FORCED to use them. I’m a programmer. I’m a database administrator. I enjoy coding and writing weird SQL! But I’ve never been able to get my head around regular expressions…never really wanted to. See my blog post about my laziness with regular expressions. 😉

I’ve been using Notepad++ for some time now and have sort of a love-dislike relationship with it because it’s very powerful…but some things, notably macros don’t exactly work like I’d want them too…and sometimes, I really think they’re buggy.

Today, I needed to take a list of e-mails and, for each email take the part before the ‘@’ and copy it at the of the line with a tab in between.

So, to start with I have a list of emails like this:

lkjshdflkhsf [at] lkjhsdf [dot] com
oiuyeruyq [at] iuywer [dot] com
nbxvnxbv [at] mnbcx [dot] com

At the end I need lines like this:

lkjshdflkhsf [at] lkjhsdf [dot] com[TAB]lkjshdflkhsf
oiuyeruyq [at] iuywer [dot] com[TAB]oiuyeruyq
nbxvnxbv [at] mnbcx [dot] com[TAB]nbxvnxbv

If you’ve ever had to move contacts from one piece of software to another you may have come across this problem to create an import file for the destination. If Notepad++ macros worked in every situation, I’d have been able to use them, but they would simply “malfunction” on me and not allow me to accomplish this. So I played with regular expressions and became aware of how you can “tag” parts of your search expression and then refer to those tagged portions of text in your replacement string to allow you to move things around and copy things. Really good regex info can be found on the Notepad++ wiki here: http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions.

So to accomplish this I was able to use the Notepad++ Search/Replace dialog in “regular expression” mode like this:

notepad_regex_example.png

In the image, you can see that in the FIND expression, you have two sections in parentheses. This is how you tag a portion of a string, by putting the expression within parentheses. For the first piece, it tags the part between the beginning of the line, signified by the “^” (caret) character and the “@”, signified by itself. The “dot asterisk” means:

  • dot = any character
  • asterisk = zero or more times

I’ve shaded that yellow. Then the second section that I’ve tagged is between the “@” and the end of the line, signified by the “$” (dollar sign). I’ve shaded it orange.

Now, in the replacement, you can refer to these tagged areas by “1”, “2”, “3”, etc….simply the order in which they appear gives them an ordinal number. You can then refer to them in the replacement string several times if you wish.

I’m still quite the noob in regular expressions and much more can be done with them. But, I found this particular example to be something that I can definitely build on in the future and hope that you can too.

FileHippo Updater

I download a LOT of software. I’m searching a lot for freeware, etc. I’m a “feature-freak” and like a very full toolbox. There are a ton of sites out there with a lot of “flotsam and jetsam” to wade through. Everything is a “free download” but that no longer means that what you’re downloading is “free.”

I’ve found that in the sites that I download from, FileHippo has a unique feature that I really like: file versions. You don’t always need a back version but sometimes it will really save your bacon and they seem to keep a zillion versions of anything that they host. They don’t host everything but they do host a lot of the stuff I use.

At any rate, all my downloading and installing means more things that can get out of date as well. So today I discovered that they have a handy utility that will scan your system for installed software that they host, compare version and give you a results web page with direct download links for the software on your system, for which they host a more recent version. I tried it today and it’s been a downloading/installing fest. It can run at startup, do its check, and if it finds nothing, it terminates itself. I like that!

Check it out! http://www.filehippo.com/updatechecker/