My Sketchup 2013 copy suddenly stopped working right. First it would hang if I tried to add a scene, then it just hang and race the processor once it started up. I tried all the latest drivers for my AMD Radeon 7800M, but no change.
I knew I could at least run Sketchup if I could disable the use of OpenGL hardware acceleration.
The registry key that you need to modify is in this registry branch:
Modify this registry key:
And make it now equal to 0 (it's of type REG_DWORD)
Sketchup should now start!
Of course it'll perform very poorly if you're working with a big/complex model and you're using "View > Face Style > Shaded" or "View > Face Style > Shaded with Textures" so remember you can switch to "View > Face Style > Wireframe" when you can get by without seeing the faces and textures because that will still perform very well.
Working without the hardware acceleration is better than not being able to use Sketchup at all. Not sure if my problem is truly a driver problem as Tremble/Sketchup would have me believe or if it's a bug in Sketchup.
See below for details on recent, important update which makes this software almost as good as it used to be!
I've always had a love hate relationship with PFU's (Fujitsu's) Rack2-Filer. I love that it is a computer-based alternative to a real/non-portable filing cabinet, but I hate that it has always striven to be nothing more than exactly that. Where other companies might have rethought what it means to store and access virtual documents and delivered a bevvy of features to make that experience brilliant, PFU created a bewilderingly crippled experience almost as bad as real life. The interface was a virtual cabinet with virtual shelves on which go virtual binders. They mind-numbingly impose real and hard limits on how many virtual pages you can put in a binder, how many binders go on a shelf, how many shelves go in a cabinet. Still... as awful as it is, and it is awful, there is a certain strange, agreeable functionality about it all.
PFU recently released Rack2-Filer Smart as a replacement for Rack2-Filer. I was eager to upgrade because one of the biggest offenses of the older product was its inability to be accessed from other devices, like Android or iOS tablets. When I saw that Rack2-Filer Smart apps showed up in the app stores and realized you needed to upgrade your desktop client to use it I wanted to upgrade (I also prayed they would improve their software). Ugh. Upgrading was not a good decision.
PFU (a Fujitsu company) is just about the most incompetent software company I've ever encountered. They are mired in stupid. Whatever they might do right, however many brilliant people they might have, they've got just enough horribly inept and stupid people to ensure that their success will be forever limited.
The first major problem I encountered was that they provided trial links on their site to download and try out the Rack2-Filer Smart software but no buy links. I even installed the trial thinking it would have buy links. It did not. There is no way to buy a downloadable version of their software online, despite them letting you download a trial. That's pretty stupid. Then I went searching for a physical version to buy. As I own the old version and don't want to throw my money away I looked for and found an upgrade version on their and other e-commerce sites. All "unavailable"/"sold out". There were no copies to be had anywhere. Huh? I could buy they full version but no upgrade version. I even checked eBay and found nothing. A week or two later eBay let me know that someone was now selling Rack2-Filer Smart on eBay, and I got a full (non-upgrade) copy for what seems now the going rate of $59 (presumably a copy included with a Fujitsu scanner sale).
And thus began my unpleasant experience with Rack2-Filer Smart...
First the import of my previous libraries failed. One of the 49 cabinets it was trying to import would fail without any sort of useful message. It suggested my drive might be full or there were file permission issues. It took me an hour but by a process of elimination and guesstimation I worked out that it couldn't read it's own damn .ini file format, there was some OCR text in the OCR text section of the .ini that must have been causing some problem. I removed the OCR section from that .ini and it would now import. Stupid PFU.
With Rack2-Filer Smart now working the real horror began. They seem to have rewritten everything, and in their rush to get it out decided to leave out tons of very useful features that people like me surely relied upon. And, adding insult to injury, they decided to go all skeumorphy and try and pretty up this pig of a program by slapping some lipstick on it in the form of photo-realistic shelf backgrounds and binder spines.
Here is my list of seriously horrible things they've changed/done in this latest release:
- No more index sheet as the first page in a binder. You now need to click to pop-open a list of sections.
- No more drag and drop re-ordering of divider sections from the aforementioned index sheet, and the aforementioned pop-open list of sections has no drag and drop. The nearest thing you can do is use the thumbnail view in the pop-open window to select, cut, and paste the items. Works, but it requires a lot more clicking. You'll see. It's awful.
- When you open the Binder Viewer it isn't maximized by default, and when you maximize it it doesn't bother zooming the display, so you've got your binder and its pages un-readably small on a normal sized modern screen. No setting to fix this. Idiotic. It means I have to click maximize and then the fill double-page view buttons every single time I open a binder.
- Binder tabs are now useless. The old version was pretty good about letting you see the tabs of adjacent divider sheets. This new version is horrible, instead of dynamically placing the tabs the new version has only five spots for them, so your view of tabs is perpetually obscured. And the font size on the tabs is huge so every single tab label is cut off and unreadable. No settings to alter this.
- You can't easily flip between sections. I used to be able to press ctrl+right arrow to jump to the next divider section to the right. That feature is gone, can't seem to find a replacement key combination. And because most tabs are hidden behind other tabs you're just screwed and have to use that dumb pop-open list.
- You can't easily flip between pages. The old version let you disable the stupid/slow page turning effect. The new version has no such option. Pages turn deadly slow even on a super fast computer.
- No right click context menu to add dividers, delete pages, etc. One of the most awful changes is the elimination of the right click menu. You now need to use the stupid left hand control options, which takes five clicks to accomplish what I used to be able to do in one or two. And you have to memorize which items are behind which side menu icons, this is awful.
- Main View (Library/etc.) is absurd. They decided that putting a JPEG of an actual office behind the fake shelf makes for quality software. It does not. It's straight out of 1998. And, again, the window doesn't launch maximized and auto zoom, so it looks like crap and is barely readable, hiding the second level titles because it's so small.
- Import is flawed (see my comment above)
- Android / iOS app connection is seriously stupid and un-intuitive. Any normal human expects the following experience: Go to your tablet, open the app, see the list of libraries, open the one you want, see the cabinets, open the one you want, see the binders, open the one you want. Browse the binder. How hard could that be? This idiotic version works in a completely different way. You need to be on the desktop computer and mark a binder as "exported" and only then does it run the server required for remote access and you can only access the exported binder. And when the remote app connects it can only see that exported binder. Maybe you can export more than one at a time. I didn't get that impression, but I gave up on the feature pretty quick. Oh, and it seems to download the entire binder, rather than fetching only what it needs as it needs it, which makes some sense in terms of local performance, but a "streaming"-ish option would have been nice.
I wasted a lot of time trying to figure out how to work around Rack2-Filer Smart's buggy legacy import and I wasted a lot more time trying to figure out why the Android app wouldn't connect (nothing mentions that the server doesn't run unless a binder is "exported") and how their concept of app-desktop interaction requires this odd "export"-based strategy.
(Now, in the interests of full disclosure there may be some better way to access use this software... it looks like both app and desktop can sync with Drop Box and Sugar Sync, which may allow you to use it without this export bullsh*t, but as I have neither a Drop Box nor a Sugar Sync account and as I'm pretty fed up with my experience thus far I'll save that investigation for another day.)
PFU sure knows how to make a bad product and that's exactly what they've delivered, a tone def mess that will now makes everything I do with their software take more time and more mouse clicks. And it's a real pity because with a few dozen (or hundred) additional man hours they could have at least made this product no worse than their last one.
Unless you absolutely, positively must have their crappy version of a tablet connected Rack2-Filer experience I would stay away from this upgrade like the plague. I pray it matures and they add back all the features/shortcuts they removed.
UPDATE as of 9/9/2013 (version V1.0L20)
Finaly PFU has released an update that has begun to bring previous features back! The previous updates seemed to be nothing more than bug fixes.
I can joyously report that one of the most glaring omissions, the context menu (or right click menu) has returned!!! Finally Rack2-Filer Smart is usable again! It's still not where it was, before their dumb "Smart" update, but I at least now have have reason to hope the rest of the problems will be fixed as well.
Also, another petty but important fix is that the binder window now remembers its previous size and zoom level, meaning you no longer need to enlarge and zoom every single time you open a binder. Sadly the main window still lacks this memory.
A huge improvement in this update is in the importing of scanned documents. If you have a binder open and do a scan it will now insert the scanned documents into your current location, a vast improvement over the previous behavior which would tell you to close the binder, at which point it would insert any scanned documents at the front of the binder forcing you to awkwardly move them to their final destination.
I also noticed that page flipping seems faster, but there is still no ability to turn off the stupid page flip effect. For the love of Pete, guys, please let us skip your stupid page flip animation!
Tabs can now be dragged to be repositioned! Maybe they could previously, but if they could it certainly wasn't obvious (it isn't obvious now, either, but I happened to discover it).
And the software is still lacking vital shortcut keys, no page flipping hotkeys (the old ctrl+right/left arrow IIRC to jump to next divider doesn't work), and ctrl+f doesn't place you in the search box.
Apparently this version also includes some sort of change in binder structure such that your binders are converted once they are opened and saved, and made incompatible with previous versions. Not a big deal for most people, I'm sure, but something to be aware of if you're syncing data with a slightly older version you can't upgrade (e.g., in a work environment).
All in all a good day for Rack2-Filter Smart, the first day I used it when my mind wasn't filled with cursing and regrets. Keep the improvements up guys! Bring back ALL the functionality you took away!
I love C#. It takes everything I loved about my years programming in early Java and adds boatloads of wonderful. But, there is one thing that perpetually infuriates me. All C# source code includes coder-included class, type, and other references that are all relative to a list of "using" statements at the top of the source code file and also a list of libraries managed separately in the Visual Studio UI. The problem is that all the wonderfully helpful source code that people post on the web never includes these UI-managed library references, which means that any time you copy and paste those bits of C# source code you will get lots of squiggly red lines telling you that Visual Studio has no idea to what the classes, types, etc. given in the source code refer. And since I've just searched the web because I didn't know how to solve a problem or because I'm learning some new framework or paradigm via some example on a page, I usually have no idea what library or libraries I need to reference in order for all the dependencies to be satisfied.
Case in point, I just had a look at the Google Drive API "Quickstart". They show you a simple snippet of source code you are supposed to try yourself. They do not give you a Visual Studio project, just the code on the screen you need to copy and paste. They also tell you to download the API libraries. I did. The library has what looks like a common library directory with 10 or so DLLs (and various other files) and a separate folder with 45 folders for various "Services" and inside those more DLLs. And I am somehow supposed to know which DLLs this 20 line piece of source code needs??? So to be safe I end up including all the common libraries and both the libraries under the "DriveService". But the code won't compile. All the references are satisfied but now there's ambiguity between because an extension method is defined in two separate imported DLLs. It takes me another 20 minutes to figure out which one I don't need. Why do we have to go through all this??? It is all so utterly needless. I can't tell you how many times I've been unable to try out a piece of source code because something has gone wrong in figuring out and finding the libraries that were needed, and which versions of the libraries were needed (since libraries can radically change with every release).
What boggles the mind is that neither Visual Studio nor third-party VS plugins like ReSharper do anything to help. Surely something could be done to largely eliminate this problem! At the vary least, why couldn't they include a "header" like region at the top of the VS editor UI which lists the actual fulfilled references for that active file. It wouldn't actually be part of the source code, it would just be a handy little (perhaps collapsed) virtual piece of commented code that would be copied whenever you ctrl+a ctrl+c file contents. And when you pasted it elsewhere it would let people know what out-of-band files they were missing. The format would probably just specify the Portable Executable data for the file and the hash (not the actual path which would be less useful and less anonymous).
Here's hoping they do it one day, or someone makes a nice little third-party plugin that is able to sort it out for you (by having a massive DB of exported library functions and some good heuristics)...
All certificate signing agencies basically do the same thing, they provide a means by which a user browsing a site or using a piece of software can know who is operating the site or writing the software. Code signing (and signing in general) is a wonderful thing. I fully believe in it. But you don't need these centralized commercial entities to provide it. And I'm just not convinced of the value add of signing authorities which charge a lot of money to (in my view) add only a thin veneer of security.
The vast majority of those applying for certificates are surely entirely legitimate and provide entirely legitimate details. That means that the vast majority of certificates signing authorities give out are entirely valid. But that's not proof that the system is good. Surely the effectiveness of security is determined not by those who intend to stay within the law but those intend to violate it. Airport security is not good because it finds no bombs on lawful people, it is only good if it is able to find bombs on unlawful people. Certificate agencies' version of due diligence is laughable, they generally require nothing more than emailed (or faxed) images of desired documents. Could someone submit easily photoshopped documents to a signing authority and have their credentials "validated" such that they get a signing certificate? Yes, it's been done. And even if the certified owner was valid at the time the certificate was issued, the security provided to end users (those looking are supposed to rely upon the certificates) is fleeting at best; the certificate owner can always move, disconnect their phones, or give the certificate to others.
Now in no way are these signing authorities radically different than the purveyors of other more traditional security products. It's true that we put locks on our houses and secretly know they would keep out only the laziest or stupidest of criminals (lock picking being an easily acquired skill and glass being easily broken), but signing certificates have the potential to be so much better. The fact that they are not, and that they cost so much for not being so superior to self-signed certificates, frustrates me. I just wish signing authorities would either do more (require you show up face-to-face at an office with a passport to be fingerprinted and DNA mapped) or do less (acknowledge how easily they may be deceived and not make you jump through hoops to proffer false 'proof').
But here we are in the land of is... God bless the industry of false security.
The free, multi-party video conferencing offering Google+ Hangout is a pretty fantastic alternative to Skype (and its paid multi-party option). Wouldn't it be wonderful to have a UI control you could drop into any .NET application that gave you all the power of Google+ Hangout? Well, it would... and I've been working on it, but so far it's not proved easy.
First a bit of back story. I have been working on an app which features embedded video conferencing and had gone initially with Skype. Skype has been a somewhat miserable experience thus far, workable but only just. The only way I've been able to integrate with Skype thus far has been their Skype4COM option. Skype4COM allows you to remote control certain features of Skype from a third-party application. You can initiate calls, hangup, mute, and things but you can't hide the original Skype interface or embed its video in your own application. There is a way to do all that, and it's SkypeKit. But for reasons unknown to me they seem to have suspended SkypeKit access. I applied to the program many months ago and my account still says something like, "We'll get back to you about SkypeKit when we're ready for you." I've heard from others that that's just the way it is right now, that they are redoing SkypeKit or something. At any rate... Skype isn't a great solution at the moment. Google+ Hangout on the other hand would be perfect, if only it worked.
I spent a few days a few weeks ago trying to create a Windows control that would let me embed Google+ Hangout inside a Windows control. The logical approach to do that would be to customize a web browser control to load up the web-based Google+ Hangout and just modify the rendered content and inject JS as necessary to achieve the desired control-ifying of Hangout. I've done that before, so I didn't think it would prove so tricky.
Microsoft WebBrowser Control
I first tried using the built-in Microsoft WebBrowser control as the hosting control. I automated Google account sign-in and had it load up the Google+ Hangout page. I hit the first major roadblock. The page gave me a warning about my browser agent not being supported. I went back and added code to spoof it, but that didn't seem to work as the WebBrowser control isn't all that sophisticated and only spoofs the user agent for the first request, not subsequent ones or ones that the loaded page fetches. I tried several alternative WebBrowser extension classes that try to intercept navigating requests and replace them with navigate calls that include the spoofing, but they didn't seem to work properly. If memory serves I did reach a point where I was able to call the JS to start a hangout but everything hung when it tried to install/start the hangout.
The next option I tried was Awesomium, a Chromium-based behind the scenes browser rendering system. After looking at some of their examples and struggling a bit with their concept (which differed radically from the WebBrowser control and MozNET control approaches I was used to) I ended up realizing I could use one of their demo apps as a quick way to test the concept. They had a tabbed web browser demo which I used to access Hangout. I was able to initiate a Hangout but the video of the Hangout was not contained as it should have been within the Awesomium demo browser, the Hangout window was at the top left of the screen whereas the browser was in the middle. So it worked but if they couldn't control where it was rendering then I didn't think an Awesomium would be an easy solution.
MozNET / Xulrunner
Next I tried my old friend, MozNET. MozNET is a XULrunner implementation which I've quite enjoyed using before. There again I wen the easy route first and used a demo browser example to see if I could get it working. Sadly it did not work. It would just hang at the step where Hangout is checking for its plugin. I feel like a MozNET solution wouldn't be too hard to achieve, but I don't have the depth of knowledge in it to make it happen easily. I know MozNET can be made to work with various XPI-based plugins.
Oddly enough, Google+ Hangout doesn't seem to be an XPI plugin. I did a procmon.exe dump of a Firefox when using Hangout and I see access to:
And a separate EXE gets launched:
C:\Users\foo\AppData\Local\Google\Google Talk Plugin\googletalkplugin.exe
But I'm not sure how what is doing the communication between Firefox and the Hangout code.
If anyone has any thoughts they'd like to share, please let me know! I think the world would benefit from an embeddable Google+ Hangout control... I know I would.
When Kindles (and all the other e-reader marketplaces) came into the world one of the big selling points was that books would now be cheaper! And how could they not be cheaper, there was no physical book to manufacture or ship! All the various e-reader marketplaces do showcase many lower priced books, but more and more I'm seeing the Kindle version of books priced much higher than the physical books (BOTH hardcover and paperback)!
Take this recent example, the paperless Kindle version of "The Art of Innovation" is 13% more expensive than the hardcover and 70% more than the paperback!
The original logic of "it costs less to publish an ebook so we'll charge less and the consumer will then buy more e-books" has now given way to "let's charge the consumer more for the convenience of an e-book, bank the extra profit, and who cares if they buy more e-books". I'm not saying publishers can't do what they like, shouldn't do what they like, I'm just a little tired of being white lied to. If the ultimate goal is to screw us into paying more for books, don't butter us up and suggest the future will be the complete opposite.
A few times a year I run into situations where an application, a driver, or something effectively locks me out of my computer. After trying various remedies I am ultimately forced to do a hard power down of the computer. I cringe every time I am forced to take that action, praying I don't end up with corrupted files.
Today I had enough. I went to shutdown my laptop and head out the door to go get a working lunch only to have my computer log me out and show me Acronis True Image's dreaded, "Operations are in progress. Please wait. The machine will be turned off automatically after the operations are complete." That is Acronis True Image's way of saying, "We're not going to shut down until a backup or backup verification finishes." The problem is those operations can take hours, and nine times out of ten the message is bogus, indicating not something in progress but a job that's hung. Today's case was one such example that would have left me waiting forever; the backup drive was disconnected, so Acronis True Image could not have been doing anything at all. When this message is displayed there's no normal way to force a shutdown other than forcing a power off with the power button. There is no ability to log in locally, no ability to log in remotely via RDP, no ability to use System Internal's remote tools (I am not sure if the reasons relate to permissions or not, I've not adequately investigated). So, today I decided to put in a back door which will save me in such situations.
Schedule a Task to Periodically Run a Remotely Editable Batch File
In all the cases where these sorts of things have happened I've noticed that I can still remotely access the computer's file system just fine. This got me to thinking I could use that as a vector for forcing Windows to execute some code to force the shutdown. To that end I created a shared folder on the laptop called "backdoor", made sure permissions allow only myself the privilege of editing its files, and created a single batch file inside it called backdoor.bat. I then set up a task in Windows Task Scheduler to execute that batch file as administrator (UAC) every 5 minutes from now until forever. When not needed the batch file is effectively empty, just a couple of commented out batch commands. If I find myself locked out I can populate the file with whatever executable commands might be appropriate to force the shutdown (e.g., System Internals' pslist, pskill, psshutdown).
Since setting this up a month ago I've already had two occasions where this method saved me and allowed me to shutdown my computer gracefully!
For anyone curious, the commands I put in the backdoor.bat file are:
C:\systeminternals\pslist -accepteula > pslist.txt
C:\systeminternals\pskill -accepteula trueimagehomeservice
C:\systeminternals\pskill -accepteula trueimagehomenotify
Those lines are commented out until and unless I need them. The first line lets me grab a snapshot of the running processes and put them in a text file I can read, very useful if the system still doesn't shut down. Since my task will only run every 5 minutes if the first attempt doesn't shut things down I've got several minutes to review the process list and find other processes to try and kill. The last two lines kill the processes that are typically hanging my shutdowns (I haven't bothered to check which of the two processes is the problem, so I just list both.)
Initially I tried to just use a more generic approach and force a shutdown ("psshutdown -accepteula -r -f -t 60") but I could never get this method to work, it didn't ever seem to kill the jobs that were hanging things up.
Since setting this up I've needed to use it a dozen times or more, saving me almost as many hard resets. The most frequent situation in which I need to use it has been when Stardock's Multiplicity prevents my keyboard and mouse from being used and when Acronis' True Image prevents shutdown (see above).
Multiplicity is a fantastic app that lets your mouse and keyboard seamlessly switch between different computers as though they were just extra monitors on the one computer. It is brilliant software, but has had a hugely serious bug in it for all the years as I've used it. If Multiplicity gave focus to another computer and that computer went offline (network outage, sleep/shutdown, software crash) it won't let you regain the use of your primary computer. Whatever timeout logic should restore your ability to use your primary computer fails the vast majority of the time and you are locked out of your own computer, unable to send commands to it. My backdoor trick lets me kill off Multiplicity and regain access.
I couldn't help but be a little intrigued by all Raspberry Pi hype. A computer smaller than a deck of playing cards, able to run Linux/ChromeOs/etc. and costing only $25-35 (depending on the model), sure sounded interesting. There are no end to computing projects I have in mind to undertake, so this seemed the perfect platform for them, particularly when the Raspberry Pi community is so friendly and supportive.
Well, having had my Raspberry Pi (model 2) for a week now I can certainly say that it's cool alright, but I'm increasingly convinced that its use in the desktop-related computing projects I had in mind is severely limited. The official Raspberry Pi Debian release runs, and includes a resource friendly web browser and other resource friendly apps, but attempting to run anything else is painful. One project I am working on uses JonDo, the magnificent privacy proxy, so I tried to see if the JonDo client would work with Raspberry Pi. It does install, and run, but it is painfully slow as to be utterly unusable (perhaps because of the Java overhead or perhaps because of the encryption demands). So much for that.
The thing I love most about the Raspberry Pi so far has less to do with it and more to do with the discontinued Motorola Lapdock. A couple years ago some people at Motorola and elsewhere thought that what people really wanted was a way to use their phone as a laptop and I remember all the hype surrounding the "lapdock" which would let you do just that. Unfortunately, at a price of $500 people really didn't want it, opting instead for cheaper $250 netbooks and $250-600 iOS/Android tablets. Sad for Motorola but great for anyone now because these over-produced lapdocks have been hitting the deep discount sales sites for the last year or so, currently selling them for $49! What you get for $49 is a fabulously elegantly, slim 10" display with keyboard, touch pad, and built-in rechargeable battery back! I seriously know of no better tech deal ever! Now, the cool part is that rather than use some proprietary connectors the lapdock uses separate micro HDMI and micro USB connections, and being universal standards you can connect a Raspberry Pi or anything else you want up to these connectors! I bought a second Motorola Lapdock to use as part of my emergency computer repair tool kit, with this thing and a few cables I've got a mobile keyboard/mouse/monitor I can hook up to any down server or computer with questionable peripherals.
In the case of Raspberry Pi this means that for $49 (Motorola Lapdock) + $35 (Raspberry Pi model 2) + $10 (cost of cables) you have a $94 laptop. Admittedly it's a pretty underwhelming laptop in a field where vastly more powerful laptops can be had for just over $200, but still... If you're buying a Raspberry Pi for anything other than experimenting then you're doing it wrong.
Watch the video above to learn what cables you need and how to modify them; the girl in the video throws me off a bit, I think it's the Ferdinand the Bull nose ring and reddish hair. Also, check out this cool modification to learn how to add a super capacitor to your Raspberry Pi as a great little backup battery/brownout protector (which is particularly useful with the lapdock).
If you used your Windows 8 Upgrade media to install a clean copy of Windows you've probably discovered by now that Windows 8 won't activate, telling you that your key is for upgrade and not clean install. Don't fret, there is a simple solution which does not require you pointlessly installing an old copy of XP, Vista, or Windows 7!
The easy three-step solution is:
- Modify the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OOBE and set the MediaBootInstall value to 0 (zero).
- Open an elevated command-prompt (run command as admin) and execute this command: "slmgr -rearm"
I'm not sharing this tip as a way to cheat Microsoft out of a dollar, I'm sharing it because anyone experienced enough to be installing a copy of Windows 8 on a clean hard drive has surely owned enough Microsoft computers over the years to legitimately qualify for the upgrade. With Windows XP through Windows 7 qualifying I know in the last 12 years I've owned and still have legal rights to at least 10 - 15 installations (mostly from retired computers).