Executive Summary / tl;dr - A Mac Mini might produce no video output when connected to a ViewSonic or Dell monitor via a DVI-DisplayPort adapter. Try using a DVI-MiniDVI adapter instead.
- For incredible customer service, buy Mac stuff from eBay seller dvicetech.
Although I’m a longtime Windows user when it comes to desktop PCs, over the past couple of years I have developed a strong liking of Apple’s iPod Touch as my “always-in-my-pocket” device of choice (as an inexpensive smartphone alternative). With 3 young kids in the house, my free gaming time is increasingly spent on the iPod, as that platform is conducive to 10-15 minute play sessions; however, the particular game I’d like to play is not currently on the App Store, so being a programmer, I decided to write it myself! (Hopefully, more to come on that topic in a future post on this blog!) Being brand new to iOS development, I did some research, and ended up with the conclusion that unfortunately, using my existing Windows PC would not be a very good idea; Apple really wants you to be using a Mac for iOS development. Being on a fairly constrained budget for discretionary purchases – again, see “3 young kids” above! – I opted for the “Mac Mini from eBay” option, as suggested on StackOverflow. After examining the available options, and (as always with this type of purchase) looking for a sweet spot in the trade-off between price and performance, I opted for a so-called “Early 2009” model Mac Mini, with 2.0 GHz dual-core processor, 4 GB RAM, 500 GB HD, and the as-of-now latest OS, OS X 10.8 Mountain Lion, from eBay seller dvicetech. This Mac Mini cost $444.50, including shipping; using my existing keyboard, mouse, and monitor, that was the total cost for the Mac. (Definitely a more economical option than going with a new MacBook, which seem go in the $1100 – 1700 range.) When my Mac Mini arrived, I hooked it up, connecting a USB mouse, USB keyboard, power, and my existing DVI monitor via a DisplayPort-DVI adapter included by the seller. I turned the machine on, at which point the “power” light on the front of the Mac Mini turned on, I heard the Apple startup chime from the Mac’s built-in speakers, and… nothing at all appeared on the screen. The monitor’s status indicator light remained yellow, as though no input source were connected. This monitor, a ViewSonic, did work fine with my Windows PC; I had just unhooked it from that PC in order to use it with the Mac. I checked the standard set of things that I could think of to check: - Monitor powered on? Yes, the yellow status indicator light was on.
- Mac powered on? Yes, the power indicator LED was on and I heard the startup chime. I could also toggle Caps Lock on and off via the keyboard and see the Caps Lock indicator light on the keyboard turn on and off.
- Video cables connected tightly to Mac and to monitor? Yes.
- Monitor configured for DVI input? Yes, verified. I’d also been using this monitor with my Windows PC via DVI with no problems.
- DVI cable okay? I swapped it out for a different DVI cable that I had on hand, but got the same results.
At this point, I disconnected the ViewSonic monitor, connected my other on-hand monitor (a Dell), and rebooted the Mac Mini. This also produced the same results: Mac Mini appeared to power up okay, but no display output whatsoever. So at this point, I concluded that the problem was either with the DisplayPort-DVI adapter, or with the Mac Mini itself. I Googled using some general terms (“mac mini no video”), and came up with a Apple support article for this specific problem, which had several suggested solutions. Unfortunately, when I tried the solutions, including several new-to-me troubleshooting actions like “reset the parameter RAM” and “reset the System Management Controller (SMC)”, none of them resolved the problem. (Also, I was unable to try at least one of the listed solutions, which was to put the Mac to sleep by pressing Option+Command+Eject; the PC keyboard I was using with the Mac Mini in accordance with the Mac Mini’s advertised B.Y.O.D.K.M. feature didn’t have any of those keys!) Having run out of troubleshooting steps to try, I contacted the eBay seller, dvicetech, through eBay’s nice dispute resolution site feature and described the problem, in hopes of being able to either get help in resolving the problem somehow (although my hopes for that were limited at this point), or else exchange the Mac Mini for another one, or get a refund. The seller, dvicetech, immediately suggested shipping me out a replacement DisplayPort-DVI adapter, at his own expense. This really pleased me, since combined with dvicetech taking on this extra cost, it seemed like a very reasonable next step to try – hopefully the problem would turn out to be with the adapter, not the Mac Mini itself. Unfortunately, when the new DisplayPort-DVI adapter arrived and I hooked it up, it didn’t resolve the issue. As a last-ditch troubleshooting attempt before I contacted dvicetech again with the bad news and to ask for either a replacement or a refund – I was leaning toward the latter, as at least then I’d have the option of spending an additional $200 or so on a new Mac Mini and engaging Apple Support if something were to go wrong with that – I brought the Mac Mini and the DisplayPort-DVI adapter into the office to try it with the monitors there, on the wild theory that there was some problem with both the ViewSonic and Dell monitors I had at home where those monitors worked fine with Windows 7, but didn’t work with the Mac. To my shock, this worked! When I connected the Mac Mini to the Samsung DVI monitor that I had at work – using the same Mac Mini and DVI-DisplayPort adapter that had previously failed to produce any video signal on either the ViewSonic or Dell monitors that I had at home – I did get signal on the Samsung monitor. I was able to watch the Mac Mini boot to the MacOS desktop with no issues. I contacted dvicetech with this news. At this point, dvicetech wowed me further with his great service by shipping out not one but two additional display adapters to try: A miniDVI-DVI adapter, and a miniDVI-VGA adapter – along with a postage-paid return envelope for whatever display adapters I didn’t end up using! I hadn’t even realized that using something other than a DisplayPort adapter was even an option. When this third round of display adapters arrived, I connected the Mac Mini to my home office ViewSonic monitor via the new miniDVI-DVI adapter, and bam! – instant video signal! The Mac Mini booted up and worked just fine at that point. So I put sent the three remaining, unused display display adapters back to dvicetech using the envelope that he had provided. I was seriously blown away by the customer service dvicetech provided – excellent, prompt, polite communication; smart troubleshooting suggestions; and multiple packages shipped back and forth at his own expense – which I daresay beat out even what I would have gotten from Apple directly, had I purchased a new Mac Mini. At a minimum, I would have been spending $5+ in gas money per round trip to the nearest Apple store, which is about 30 minutes from my home. My advice is when shopping for parts on eBay, buy from dvicetech if possible – I certainly intend to do so in the future! I’m somewhat less happy with Apple, with all of the time and hassle it took me to get the new Mac Mini working. When I use some more specific Google search terms like mac mini viewsonic no video, there are lots of other similar problem reports. This wasn’t exactly an “it just works!” experience. My takeaways are: - For Mac video adapters, MiniDVI-DVI is a more reliable option than DisplayPort-DVI, although limited sample size is certainly a caveat here;
- Don’t assume everything will be instant sunshine and roses with Apple hardware, especially when interoperating between Apple hardware and standard-but-non-Apple hardware (although again, sample size caveats apply).
Still, in the end, the Mac Mini is now up and running, and I’m well along in coding up my new game in Xcode, Apple’s IDE for iOS. It’s turning out to be a big project, so I’m several months away from even being ready to beta the app (particularly since I’m almost exclusively working in 90-minute-per-day chunks at the end of the evening after my kids are all in bed and other chores are all done), but I’ll certainly make an announcement here when I have something ready to show!
My current work PC is a Lenovo ThinkPad T530 running Windows 7. I’m using it with a Lenovo ThinkPad docking station, the “Thinkpad Mini Dock Plus Series 3 with USB 3.0”. Occasionally, when I re-dock the PC, some or all of the USB 2.0 ports in the docking station do not “turn on” and work properly. This most obviously manifests in my USB keyboard and/or mouse plugged into the docking station not working. The keyboard’s indicator lights (Num Lock / Caps Lock / Scroll Lock) won’t turn on, and the red laser light on the underside of the mouse doesn’t come on. Removing and re-inserting the keyboard and mouse USB cables into the docking station does not fix the issue. The workaround that I found that does work (under Windows 7) is as follows: - Open Device Manager. (From the Start menu’s Run field, type “device manager” and press Enter. Obviously, use the laptop’s onboard keyboard and mouse if the external keyboard and mouse aren’t working.)
- Scroll down to the bottom of the Device Manager window, and click on “Universal Serial Bus Controllers” to expand it.
- Right-click on the first entry in the expanded list named “USB Root Hub,” and select Disable from the context menu.
- Right-click once again on that same “USB Root Hub” entry, and select Enable from the context menu.
If it works, the list of items under “Universal Serial Bus controllers” should refresh, and you should see some additional items in the list. The USB ports on the docking station and devices connected to them should be working once again. I’ve never had the single USB 3.0 port on the docking station fail to work in this way, so another workaround might be to attach an external USB hub to that port, and plug all external USB devices into the hub. I did try replacing the docking station with another copy of the same model, but the intermittent issue persisted, so the issue appears to be with the PC software or hardware itself, not with the docking station alone. This workaround is inconvenient, but it beats rebooting! Let me know if you know of a better workaround or a fix.
What follows is something a little bit different: For your amusement, a somewhat steam-of-conciousness recounting of my first 60 minutes with a Mac Mini (purchased for the purpose of doing some on-the-side iOS development), from my background as a guy with 25+ years of DOS/Windows experience (dating back to doing BASIC development on an IBM PC my Dad brought home from work when I was 6 years old!) and some limited Unix/Linux experience, but no real Mac experience at all. Enjoy!
8:01 - Successfully booted up! Logitech mouse and "brand X" USB Windows keyboard (in use temporarily until next reboot, when I'll try my PS/2 IBM Model M keyboard with an adapter) appear to be working!
8:03 - Using Safari... the mouse scroll direction is backwards! I can't cope with that, Googling for a fix... okay, fixed it in System Preferences | Mouse.
8:06 - Some keyboard shortcuts use Win (Command)! Some still use Ctrl (Ctrl+Tab to switch browser tabs!) Confusing! A lot to learn!
8:11 - Keyboard document navigation is different!
- “Move one word at a time” now uses Alt (Option), not Ctrl!
- What’s the shortcut to jump to the beginning or end of a document?
8:14 - Middle-click doesn’t close tabs in Safari!
- Maybe I’ll switch to Firefox later. But going to stick out the “native experience” for now.
- Also, where are the favicons on the tabs? Hard to tell them apart.
8:17 - Ctrl+Tab doesn’t use MRU order in Safari!
- To be fair, no other browser gets this right either by default except Opera. Will be a deal-breaker though if it turns out that there’s no workaround, just like Chrome.
8:23 - Woah - Ctrl+LeftArrow takes me to some other desktop that shows a calendar and a calculator and some other stuff! (Hit that by accident trying to navigate within some text in an editor!)
8:27 - Looking through system preferences, Ctrl+UpArrow = Mission Control apparently! Seems like an interesting Alt+Tab (er, Cmd+Tab) alternative?
8:30 - Mouse button 4 (thumb button) doesn’t go Back in Safari! Is there a way to make that work?
8:32 - Some things are somewhat familiar from iPod Touch, e.g. Notifications Center and FaceTime.
8:35 - Safari seems bad at suppressing popup windows? Or maybe I’m just wandering into more “grey” parts of the Internet as I’m trying to look up things like keyboard shortcuts and haven’t learned yet which sites have good Mac info? But I've seen at least 2 spammy-looking popup windows show up in front of me so far.
8:37 - Thinking about security as I'm having to type in a couple of my passwords... How do I know that this Mac isn’t running a keylogger? What’s the equivalent of Ctrl+Shift+Esc on this thing? (Just tried that; it didn’t do anything, nor did Cmd+Shift+Esc, not that I really expected it to. Maybe a good old command-line ps -ef is the answer, like in Linux... will need to learn what's "normal" on this system and what's not.)
8:38 - Ok, so how do I open a Terminal window? Searching Google... Aha, Cmd+Space is kind of an analog to Win+R (or just the Win key as of Windows 7) on Windows. Then I can just type “terminal” and hit Enter.
8:41 - Where’s the filesystem explorer? I remember that it’s called “Finder” on Mac. Poking around... Ah, I see, it’s activated from the smiley mac face at the far left of the “applications bar” thingy at the bottom of the screen.
8:42 - The Close button is in the top-left of each window, not top-right. Is there an Alt+F4 (universal “close window” shortcut key) on this?
8:45 - Talking to my wife on her iPhone via “Messages!” Man, this thing works flawlessly, unlike any solution that I’ve tried on a PC to chat with her on her iPhone. User experience is just like my iPod Touch. Impressed, but at the same time disappointed at that lack of a good PC solution for me to use at work; real keys (PC) blow away virtual ones (iOS device) every time.
8:48 - The Home and End keys don’t work in the Messages message entry field, but they do work in other places like Google Docs running in Safari -- what’s that about? They don’t seem to work in the Safari address bar either?
8:50 - Thinking ahead to writing up all this as a blog post. Is there an equivalent to LiveWriter on Mac? I'll probably just use the Blogger web UI for starters.
8:52 - Oh, found by accident that Cmd+UpArrow/DownArrow is like Ctrl+Home/Ctrl+End. Was trying to do that Ctrl+UpArrow thing to activate Mission Control to find out where my terminal window went. Don’t see it... I must have closed it. But now I also see that Cmd+LeftArrow/RightArrow act like Home and End.
8:56 - What’s Launchpad do... ah, seems reminiscent of the iOS desktop. *All* of the icons!
8:58 - No Menu key? Is there a “right-click” key on Mac to bring up spelling fixes when the caret is on a misspelled word, without reaching for the mouse?
9:00 - Typing in a Safari textarea field and typoed in “cusotmer” and Safari is showing a little popup with the suggested corrected spelling “customer” -- great! But how do I accept that correction without reaching for the mouse and clicking on it? Just pressing space bar like on iOS doesn’t seem to do the trick? I can’t seem to use the tab key to get to the little popup either? ... Ah, I need to hit DownArrow and then enter, ok.
...And there you have it, the highlights of my first 60 minutes as a Mac user! Maybe I'll come back to this topic and do a "Mac Impressions - The First 60 Days" and give some more in-depth impressions once I've gotten to spend some significant time with this new machine.
Finally, here's one bonus thought to leave you with:
10:40 - I must have hit "Home" and/or "End" at least 15-20 times as I was editing this post, and in the process discovered that those keys on a Mac apparently serve to scroll the viewport (but not the insertion point, thankfully) to the beginning or end of a long editable text area, respectively! The muscle memory from all those years of DOS and Windows is baked in pretty hard. It will be interesting to see how difficult it is to overcome that as I continue using this new Mac... at least *some* of the time already I'm remembering to use Cmd+Left/Right instead of Home/End, but it's far from 100% at this early stage!
Issue In Oracle ATG Commerce 10.1.2, a JSP page in my project failing to properly retrieve results from Endeca Guided Search. (The application is not using Endeca Experience Manager). The following error appeared in the ATG application log file: **** Error Mon Apr 15 09:55:55 EDT 2013 1366034155171 /atg/endeca/assembler/droplet/InvokeAssembler A problem occurred assembling the content for content item /services/guidedsearch. The response received was {contentUri=/services/guidedsearch, @type=ContentInclude, @error=FileNotFound}. Servicing the error open parameter.
Resolution
The problem turned out to be not a missing file, but that some of the Endeca-related ATG components were misconfigured. We resolved the problem by making sure that the following ATG component properties had correct values:
atg.endeca.ApplicationConfiguration
- baseApplicationName
- defaultApplicationName
- keyToApplicationName
- defaultLanguageForApplications
- workbenchHostName
- workbenchPort
atg.endeca.assembler.AssemblerApplicationConfiguration
- defaultMdexHostName
- defaultMdexPort
atg.endeca.assembler.cartridge.manager.DefaultWorkbenchContentSource
atg.endeca.assembler.cartridge.manager.AssemblerSettings
Last September, my primary desktop PC at home (built 2008), running Windows 7 64-bit, started exhibiting a strange set of symptoms: The system would boot up normally, but after that, certain operations, particularly operations needing to read from the hard drive, would take far longer than normal. For example: - Pressing Ctrl+S (Save) from Notepad would take a full minute to display the Save dialog, but the file would save normally after that;
- Copying files between the two internal hard drives (C: and D:) worked, but took about 20x as long as normal;
- Applications would sometimes take a very long time (1-2 minutes) to initially start;
- The game “Torchlight 2” would start, but the “loading” screen would never go away, and the background music looped abnormally, playing the same segment of music over and over again every 5-6 seconds.
- These problems would all seemingly get worse over time, until I rebooted the PC.
Not having run across an issue like this before, I tried quite a few different troubleshooting steps: | Troubleshooting Step Tried | Outcome | | Warm boot (restart the PC) | No effect | | Cold boot (power off and then power on the PC) | No effect | | Windows System Restore | Failed, with a “Failure restoring registry” error | | chkdsk /f (“Check disk” utility from the command prompt, with the “fix” parameter) | Ran ok and reported no errors for either C: or D: | | Ran the Windows built-in RAM diagnostic | Ran ok and reported no issues | | Virus scan with Microsoft Security Essentials | Ran ok and reported no issues | | Reseated hard drive SATA cables for both drives | No effect | | Killed various processes via Task Manager (suspecting a virus?) | No effect | | Disconnected the D: drive (the non-boot data drive) | No effect | | Booted into Safe Mode | No effect – Slowness issue occurred even in Safe Mode | | Ran System Restore from Windows bootable CD | Failed, same as when running System Restore from Windows itself | Finally, with other options exhausted, and uncertain whether the root cause might be a software issue with Windows itself, I took the extreme step of “repaving” the PC: Formatting the C: (boot drive) and reinstalling Windows 7. Doing that actually did initially seem to solve the problem; Windows installed with no issues on the reformatted C: drive, and I was able to reinstall and use all of my applications – for a time. Unfortunately, in January, the exact same issue suddenly started manifesting again. The PC would boot ok, and run okay for a few minutes, but then suddenly certain operations like opening new applications or saving files would suddenly start taking far longer than normal. Further, the problem started getting worse across reboots (as I ran through various troubleshooting steps), eventually to the point where Windows would hang while starting up. This time, suspecting a hardware problem with the C: drive, I took a troubleshooting step that I hadn’t tried previously: I powered off the PC, disconnected the C: drive, and powered the PC back on. Although I wouldn’t normally recommend running a PC this way, I actually had an old bootable install of Windows Vista sitting on the D: drive. With the normal boot disk (C:) disconnected, D: became the boot disk, and the old Vista install booted right up. (I also physically disconnected the PC’s network card before doing this, not wanting to run afoul of any potential 2013 security issues that a circa-2009 instance of Vista might not be equipped to handle.) Playing with the Vista install running off the D: drive, I obviously couldn’t really test any non-trivial applications, but the Windows desktop itself was actually usable enough, and exhibited no signs of the slowness issue that the exact same PC configuration, except with the C: drive connected, had been showing. From this, I tentatively concluded that the issue was a physical problem with the C: hard drive – one that my earlier chkdsk and other diagnostic measures targeted at the hard drive hadn’t picked up for whatever reason. So I set aside the old, presumably bad, C: drive. Then – figuring I might as well get a system upgrade out of this whole ordeal! – I ordered a speedy new hard drive, a Crucial m4 128GB 2.5-Inch SATA 6Gb/s Solid State Drive (SSD) (model CT128M4SSD2 - $116 on Amazon.com as of 3/2013), to serve as the new C: boot disk. Once the drive arrived, I connected it, once again installed Windows 7, re-installed my applications, and the system is once again running great! It’s been about 2 months now since the second instance of the “slowness” issues happened, and not only have there been no signs of it returning, but the system now boots faster than ever with the new SSD serving as the boot disk. I’ll update this post should the slowness issue ever return – but if you don’t see any updates to this post, you can assume that things are still running smoothly -- or that this PC was retired without this issue ever re-occurring!
This morning I ran across a minor bug with the Windows common “Save As” dialog. I ran across the bug in the Chrome browser, and then was able to reproduce it using plain old Windows Notepad (notepad.exe). Bugs like this in common Windows components are rare enough that I figured it was worth a quick blog post. Steps to reproduce: 1. Open the Save As dialog for an application. (In my example, I opened a file named “myfile.txt” in Notepad, then did File | Save As.) 2. Navigate to a directory that already contains a file with the same name as the file to be saved.  3. In the Save As dialog, create a new folder, e.g. by clicking the “New folder” button. 4. Still in the Save As dialog, drag the existing copy of the file to the new folder to move it there.  5. Click the Save button. At this point, I would expect Windows to just go ahead and save the file. However, at this point Windows puts up a “File already exists. Do you want to replace it?” confirmation message, as if the existing copy of the file had not already been moved out of the way.  This is only questionably a “bug,” since it doesn’t really hurt anything by happening, other than possibly causing some minor surprise/confusion on the part of the user, who may think they didn’t actually move the original copy of the file as they had intended. I assume this is happening because the dialog is doing some kind of caching of the contents of the destination folder at the time the folder is opened, and then not actually comparing against the actual contents on disk again at the time that the user clicks the Save button. I encountered this on Windows 7 (Pro, 64-bit). I’m not sure whether or not this also happens on other Windows versions. Obviously this “bug” is not a big deal at all, but irrespective of the occasionally-questionable popular perception of the quality of Microsoft products, I find Windows 7 to be generally pretty rock-solid stable when it comes to basic day-to-day operations (as it should be), so I was surprised to observe this behavior. I wonder if this is “working as intended,” or if Microsoft actually would consider this a bug?
Earlier this month I attended a one-day Agile software development class at The Forge by Pillar in Ann Arbor. A few of my teammates from work attended the class with me; the class ended up having around 25 attendees total, with maybe a third of those being developers. On the morning of the class, we learned that as part of the activities of the day, we would be implementing a functional clone of a classic arcade game of our choice (Pac-Man, Space Invaders, Centipede, etc.), using a tool called Scratch, in 3 20-minute development sprints. This initially struck me as aggressive -- a new game, complete with graphics, written starting from scratch, done in not a day, but in 60 minutes? I suggested to my team that we do an implementation of Frogger, as that struck me as being relatively straightforward to implement. The instructor then went on to ask if we had any "spikes" (unknowns that would merit taking time to do a proof-of-concept, if this were a real project) regarding the Scratch tool that we'd be using for development that he could answer for us prior to the first development sprint. Not having been familiar with Scratch prior to taking this class, I found it difficult to come up with any questions more specific than "Um, what exactly is Scratch, and how does it work?" (I did come up with some better questions such as "How does sprite collision detection work in Scratch?" but the point here is that it was hard to even ask questions about a framework that I wasn't familiar with.) After writing up user stories (requirements) with my team, the class instructor did a quick demo of the Scratch tool; then, the first development sprint started, and I was able to get hands-on with the Scratch tool for the first time. Within just the first couple of minutes of that first development sprint, I had a far better idea of what Scratch was, what it could do, and how long it would take to do things with it. In short, Scratch allows you to set up sprites (characters, objects) on a playing field, and then manipulate them via a simple "drag-and-drop" event-driven programing framework.  This experience was striking as an illustration of the additional accuracy with which a project can be estimated, and how much better specific "unknowns" about an implementation can be identified, after there has been an opportunity for the development team to get some hands-on engagement on the project – particularly in projects involving a language or framework that is new to the development team prior to the project.
|
|