Converting Access Database to MSSQL Database Using Microsoft SQL Server Migration Assistant for Access

Question: I am trying to convent a Ms Access Database to MS SQL 2012, using Microsoft SQL Server Migration Assistant for Access version 6.0
but each time i try to convert it an error pops up. any ideas how i can solve the problem i reinstall the program Microsoft SQL Server Migration Assistant for Access , and it worked just ones and after that i have the same error.
any help will be most appreciated

Access Object Collector error: Database
           Retrieving the COM class factory for component with CLSID {CD7791B9-43FD-42C5-AE42-8DD2811F0419} failed due to the following
  error: 80040154 Class not registered (Exception from HRESULT:
  0x80040154 (REGDB_E_CLASSNOTREG)). This error may be a result of
  running SSMA as 64-bit application while having only 32-bit
  connectivity components installed or vice versa. You can run 32-bit
  SSMA application if you have 32-bit connectivity components or 64-bit
  SSMA application if you have 64-bit connectivity components, shortcut
  to both 32-bit and 64-bit SSMA can be found under the Programs menu.
  You can also consider updating your connectivity components from
  http://go.microsoft.com/fwlink/?LinkId=197502.
           An error occurred while loading database content.
Comment: did you made the 32/64 bit checks suggested by the error message itself?
Comment: yes i did made the changes the wired thing is that it worked. just ones
Answer: Just to complete the other side of the story...
If you have a 64-bit setup, you might have to go the other direction
and install the 64-bit MSAccess 2010 engine.
I'm running Access 2013, and I believe it is 64-bit.
But the SMAA tool threw the 80040154 error.

I think SMAA can't or doesn't use the 64-bit connectivity drivers that come with 64-bit Access 2013.

So using the 32-bit SMAA didn't help.

Installing the 64-bit 2010 engine did.

I got it as a free standalone download here:

https://www.microsoft.com/en-us/download/details.aspx?id=13255

After the quick install of this, I simply started
SMAA 64-bit again,
and the wizard was successful the first time.

thanks to :
https://social.technet.microsoft.com/Forums/itmanagement/en-US/0249eebf-14bd-45f6-9bca-3b42395a3d13/ssma-60-error-retrieving-the-com-class-factory-for-component-failed-due-to-the-following-error?forum=sqlservermigration
Comment: Believe it or not installing the 2010 stand-alone tool, fixed my issues on Access 2016 on Windows 10.
Comment: The issue here is that the MS SQL Server developers that developed the migration tool never had a full install of MS Access on their system so they've introduced dependancies on components that are only installed with the MS Access runtime environment.
Comment: This also worked for me.
Windows 10 64bit,
SMAA 64Bit,
SQL server 2019 trial 64bit?,
Office Access 32bit,
Microsoft Access Database Engine 2010 Redistributable 64bit
Answer: I remember this error.  I had to find the EXE for 32-bit SSMA even though I was running 64-bit windows.  The default installed location was:
C:\Microsoft SQL Server Migration Assistant for Access\bin
And the filename was:
SSMAforAccess32.exe
Comment: We've had success with this approach, wheras the installation of the 2010 runtime did not work for us (our environment is Windows 7 64-bit, SQL Server 2014, Access 2013).
Answer: [SOLVED]
I encountered the same error while using SSMA v7.7.0 for migrating from MS-Access 2016 DB to SQL Server 2017. Fortunately, I got it fixed by installing Microsoft Access Database Engine 2016 Redistributable
Answer: with regards to installing the runtime environment of Access to get around the 80040154 error from SSMA: With Access 2016, I found that the runtime environment would not install because I already had Access installed. I needed to deinstall Access, then install the runtime only version. Then, SSMA would run without the 80040154 error. Total pain tho.
Answer: If you're trying to read/write data from/to MS Access database file via .NET application, try to switch the project to x86 architecture. It helps in my case


Why did Saiba Joichiro take some time off cooking?

Question: Back in his youth Saiba was the best cook in Totsuki, but after he had a 50 vs 1 shokugeki match it's like he stopped having fun cooking, why?
Answer: Joichiro suffered from burn-out and had to leave the school to ease the pressure on his shoulders.
Joichiro is widely considered to be the best Totsuki student of his generation by his peers. As you mentioned, he managed to win an improbable 50 vs 1 cooking match -- armed with nothing but his own skill and wit.
But in the end, the peer pressure to perform and stay absolutely perfect in public cooking matches withered him. We have seen numerous times that Joichiro loves experimenting with weird dishes and recipes ; the Dried Sardines Garnished with Strawberry Jam would be a prime example of that personality trait. Since Joichiro eventually felt obligated to polish his art to perfection rather than being able to goof off and create weird dishes at his leisure, he lost the motivation to continue competing at Totsuki.
Joichiro avoided going to BLUE because he felt he had lost sight of his reason for cooking. Following Senzaemon Nakiri's advice, he went on a world tour to discover new cooking methods and vent off the accumulated pressure.
Answer: It's not the fact he wasn't enjoy cooking, but rather he despise the fact that nobody is brave enough to do challenge with him.

 In the manga after the 50v1 shokugeki, he still having fun cooking challenge with his dorm mate.


how many kWs does it take to bake a cake?

Question: I am looking to set up a cake delivery business and I am creating a break even for it to educate me about the costs it would entail. However, I have no idea how many kWs it takes to bake a cake. Can anyone help?
Comment: I agree with @Jefromi: as it stands, the question is unanswerable. Basically what you'd need to know is how long the oven will be on for, and how much energy the oven uses. We can't tell you either of these things. After that, it's just math.
Comment: The heat capacity of water (which the cake has a lot of) is pretty high. It likely dwarfs that of the air inside the oven. So probably does the energy required to vaporize the water. An oven baking a cake should consume more energy than an empty one (especially if its well insulated).
Comment: I think you mean kWh? And what kind of scale are we talking here? A home oven, with a cake at a time? A set of commercial ovens in continuous use with many cakes?
Comment: This is sort of an interesting question, but I think the cake is largely irrelevant; an oven is expending energy on heating the air inside. Except for opening the door, I doubt you'd notice a difference in energy consumption between oven with cake in it and without.
Comment: As much as I would love to see more questions on this site about commercial kitchens/bakeries, this really is *incredibly* vague. If you can edit this to narrow it down a whole lot, we may reopen it.
Answer: As @derober's comment notes, to get a precise number will be darn near impossible. However with some assumptions and generalizations, we can make a guess.
A little Google research yields lots of interesting results. Here's one from BestBuy's appliance buying guide (link to CNet's buying guide, which seems to be a direct cut-n-paste ripoff of BestBuy's. Or vice versa)

According to the Consumer Guide to Home Energy Savings, here is an
  energy cost comparison of ovens based on cooking an average casserole.
  It assumes the cost of gas is 60 cents a therm, and electricity is 8
  cents a kWh:

Appliance       Temp  Time    Energy    Cost
Electric Oven   350   1 hour  2.0kWh    $0.16
Electric        325   45 min  1.39 kWh  $0.11
Convection Oven

You can customize it to your oven and cooking time with some math. Say you do a little research and find out your oven uses 3.5kW/hour and you need to bake your giant sheet cake for 2 hours straight.
3.5kW/h * 2h * 0.08$/kW = $0.56
Running it for a 12 hour day?
3.5kW/h * 12h * 0.08$/kW = $3.36
Comment: That link is broken
Comment: @spiceyokooko darn, it appears that page is no longer visible from the BestBuy site. Google must have found it behind the scenes. I'll look for a replacement one.


Finding errors / warnings in Visual Studio

Question: I have experienced an annoying issue with Visual Studio 2005... sometimes when I rebuild, and even if I do a Rebuild Solution, it will come back with no errors or warnings, but then when I later edit another code file, even without changing it, and rebuild, it will find an error or warning in that other file.  Clearly, the earlier Rebuild Solution did not recompile that file!  How can I force VS to completely recompile every file?
Answer: I've seen this happen before when you have multiple projects in your solution and the references get mixed up.
Say you have four projects in your solution, Common, Business, Data, and UI. Assume that Common is referenced by the other three projects.
What we want is for Common to be a "project reference" from the other three projects - they'll then pick up their copy from the build output directory of Common.
But, sometimes, one of the projects will get it's reference mixed up. Say, in this case, that UI starts referencing the copy of Common in the build output directory of Data. Now, any change that compiles "UI" without also compiling "Data" will result in two, possibly incompatible, versions of "Common" being a dependency of UI.
Another scenario is where the reference is to a binary, such as from a "lib" directory. Then, one of the projects ends up referring to a build output location instead of lib.
I don't know what causes this - but I see it all the time, unfortunately.
The fix is to go through the references of each project and find the one (or more) that point to the wrong place.
Answer: It might help to clean the solution prior to rebuilding -- right click on the solution in the Solution Explorer and choose "clean solution" -- this deletes temporary files and is supposed to clear out the bin and obj folders, so everything is rebuilt.
Answer: I'm with Guy Starbuck here, but would add that Rebuild Solution is supposed to do a Clean Solution followed by Build Solution, which should, then, have solved your issue to begin with. But VS 2005 can be terrible in this regard. Sometimes it just starts working after several rebuilds. If upgrading to 2008 isn't an option, consider manually clearing the bin folder.
Answer: Is this related to the Configuration Manager?  There you can select which projects in your solution build.  Not sure if this helps.
Answer: Depending on the types of warnings it is not possible if I recall correctly.
For example, warning messages for XHTML compliance are ONLY displayed when the file is open.  You might check the tolerance settings inside VS to see if you can change it.
Answer: This sounds strange - Rebuild should build everything regardless of changes and Build should only build things that have changed.
The behaviour you've described should only happen if you have modified something that is referenced by the unchanged file so that it is now incorrect.


Looking for a simple free windows file backup software

Question: I'm looking for a freeware Windows application that will incrementally back up a folder that contains software projects I'm currently working on.  My idea of a good app would be one that creates a backup every minute or so while I'm logged in, but only if the files have changed since the last backup.  It would hold on to the the last hundred or so versions of each file, along with versions from the last few days.  I've tried Easus Free and it's pretty good but it backs up the files even if they haven't changed.  I'd consider just programming something simple in Python but I really don't want to recreate the wheel if I don't need to.  Any suggestions?  Thanks!
Answer: Can I suggest that it would be a very good idea to change the way that you are working to use a decent distributed Version Control Software such as git, mercurial or such.
Rather than having automatic incremental backup every 60 seconds or so commit to your local checkout every time that you have a significant set of changes, i.e. it is something that you would like to get back to, with a 1 line description of where you are, and then push to a shadow repository. Many IDEs and Code Editors include interfaces to various version control systems that would allow you to do this with minimal disruption.
Comment: Thank you for the suggestion, Steve!  This morning I researched GitHub, set up a repository for my current project, and just committed my first changes with GitHub Desktop.  Thanks again!
Comment: @Jason - Congratulations you now have your very own time machine! :-)
Answer: This started as comment, but grew too large.
Firstly, great answer, Steve (uvote). And @jason, you were correct to accept it. This answer is not intended to contradict it, just to offer some alternatives for future readers.
Version control is what the software pros use. If you find the command line too intimidating, just search for "githib GUI", e.g https://desktop.github.com/ (there are others).
Sounds like you made you decision, Jason (and, it is a good one).
At work, we tend to stick to Apache SubVersion (for historical reasons), and TortoiseSVN to integrate it with Windows (it also has some fancier GUIs).
For anyone who wants a slick GUI, I love PlasticSCM.

It also has an excellent tool for showing the difference between versions, and merging changes.
Comment: This looks super cool and I'm not adverse to the command line but I think I'll stick with Git Hub Desktop for a bit, because it is working so well for my needs.  I'll research SubVersion, Tortoise, and PlasticSCM at some point and consider it.  Thanks for your suggestion!
Answer: https://www.simpledatabackup.net/
I've been using this free software for a decade now and it's excellent.  Programmed by an individual in a "simple, basic" way, it requires minimal system resources and is extremely flexible, allowing scheduled backups of any group of subdirectories to any target subdirectories you want.
I eventually bought the professional version, just as a donation to the programmer, and the cost was minimal.


Disable cookies for specific sites in Firefox

Question: Firefox on my PC allows me top disable cookies for specific sites by clicking on the website's icon. When cookies are disabled generally, I can enable them the same way in the menu behind the icon. Firefox on Android doesn't show this menu when I click on the icon. How can I disable/enable cookies for a specific site on Firefox for Android?
Comment: Do you've root access? Firefox for Android doesn't have in-built permissions manager interface neither it gives per-site option to change some settings. However, it does have the `permissions.sqlite` which holds permissions related to cookies. I guess you would need to manually edit that file to get the job done.
Comment: Yes I have root access. But does Firefox need additional permissions to modify its own cookies? It somehow must be able to access them, otherwise, I couldn't delete all cookies.
Answer: With Firefox 57 support for extensions not using the WebExtensions API was dropped. Before that, you could whitelist specific sites using the Cookie Whitelist for Fennec addon. The WebExtension API currently doesn't offer a way for an extension to modify cookie permissions. Adding an API for that is discussed in Mozilla bug 1291841.
This leaves you with the following options:

Try to find an older version of Firefox for Android and use the old addon (not recommended due to missing security updates and because you could find an APK containing malware)
Wait for the API to be added
Try to modify permissions.sqlite manually as suggested by Firelord in the comments
Use another browser for sites needing cookies. I use Firefox Focus when I encounter a site needing session cookies. For sites needing permanent cookies to stay logged in you would need another browser.


What is eating my plants leaves?

Question: I don't know what this bug is, but I'm sure it's why I have holes on my tomato plants leaves and raspberries plants leaves.
Comment: It is important to discover what is making holes but it usually is not life threatening.  A little disfigurement is always expected and okay. I see one tiny hole on these raspberries and I also see they need some fertilizer....
Comment: Can you post some closeups of the leaf damage for the raspberry and tomato plants?  What makes you think it is this bug vs. something else?
Comment: Plastic, sigh.  Are weeds really that much of a problem?  Also a great place for some organisms to hide and thrive and hang out.  This is also the time for flea beetles and the best thing I've found is a trap crop.  Planting stuff they like far better than your raspberries and tomatoes...mustards, spinach.  Plant a bunch of that and allow them to go nuts.  They will disappear within a month.  If that tiny hole is indicative of what you are trying to show, that is flea beetle.  Give them a banquet you don't care much about.  Easy to regrow as well as a few holes will not kill even the trap crop
Answer: My guess (and given how blurry the image is, a guess seems all that is possible) is an Ephemeroptera:

If it is a mayfly it would not account for the holes in your leaves.
Answer: Inchworms can hide underneath leaves and will devestate plants,  check under every leaf.  They were all over my big boy tomato plants right as they were coming in. Large grasshoppers may also cause damage they dont usually stick around though, youll catch them every now and again.
Answer: That is definitely a Mayfly I concur. It looks exactly like one. I have seen many Mayflies. I am absolutely positive about that.
Mayflies won't harm plants. More or less fertilize it after dying so briefly after maturing. You may simply read into these insects online if you'd like to know more. The picture is clear enough, that every characteristic matches up to the normal Mayfly.
Comment: If you are going to edit my post, then edit it correctly or dont edit it at all,  you left it " that ever characteristic matches up" that was suppose to read " that every characteristic matches up" dont edit my post, its how I speak, when you change it, its not me talking.

What is eating my plants leaves?


What are the most probable interpretations of the following Confucius' quote?

Question: "They who know the truth are not equal to those who love it, and they who love it are not equal to those who delight in it."
I can see the most straightforward interpretation of it's first two parts but I am unsure of the third.
Answer: Interesting quote, I have never encountered it. Before my interpretation, an important note should be made which is that the translation of the quote may be causing the Confucian and that there may be multiple or better translations (this is common for old quotes). Because of this, in this translation, I believe the terms "love" and "delight" should be switched.
With that being said, I believe it goes into the idea of truth for the sake of truth. In this context, for example, those who "love" the truth do so for the shallow reasons such as how it is consequentially useful. However, those who "delight" in the truth do so in appreciation of knowledge.
Comment: +1for the pun and for saying that a quote in another language, especially an old quote in another language, is going to be difficult to really get fully from a modern English translation.


What size wire for 100 amp sub-panel from a 200amp main panel?

Question: I want to add a 100 amp sub-panel from a 200 amp main in an attached garage. It will be about 100 feet from sub to main. What gauge wire should I use? The sub panel is to hook up a 7.5 horse air compressor and a welder.
Answer: The NEC provides wire sizing based on the type to be used and the application.

(source: diychatroom.com)
But here is a useful question that's already got all the answers I believe you'll need:
What size wire should I use to feed a subpanel in my garage?


replacing door leading into sunroom

Question: We want to replace the sliding door that leads from our family room to our sunroom with French double doors.  Can we replace it with indoor doors? Or do we need outdoor doors?  The sun room has other doors that lead to out to the yard that won't be replaced.
Comment: Ok, a couple of other questions: Was it cold in the sunroom throughout last winter? Is there heat in there? If no is the answer to both questions, it's likely the sunroom is just that; not a winterized area. If that's the case, I'd go with an exterior door. That said, we have no idea of where you live or what the climate is like. For example, where I am in Northern British Columbia Canada, it can get to -35c for days/weeks on end.
Comment: Are the other doors that lead outside exterior, well insulated doors? Are the walls and ceiling properly insulated? Are the windows of quality (double-pane, low-e etc)? What's the floor like, insulated? What climate are you in? If the room is well protected from the elements (including cold/moist air), then an indoor door will be fine. Also consider security though. If you're to use an indoor setup, you'll want everything to be secured on the perimeter of the sunroom.
Comment: The doors leading to the outside are glass doors like the one that you see on the front door in lieu of storm doors.  The sliding door that we want to replace is double panel though. The windows seem to be single panel and the flooring is carpet that we want to replace with tile. We don't have any idea of what is the insulation underneath because we just bought the house last winter.
Comment: Yes, Im In NJ so in winter is more like an Ice room rather than sun room...Thanks for the advice
Answer: If your sun room is really a three-season room, you need an insulated door between it and your heated space as part of what's known as the "building envelope". Interior doors not only don't insulate as well, but they don't offer the seals that prevent airflow (which is actually a greater source of heat loss).
If your sun room stays within say 20 degrees of the heated space year round, you can probably go ahead and use interior doors, but I'd still consider adding bristle-type air gaskets.

replacing door leading into sunroom


using J & K keys for navigation

Question: In the recently released "Field Guide to Web Applications" (from the Google Chrome team), the authors mention the "emergent convention of the J and K keys to move forward and backward" in a web app. This is new to me. I tested it on the Field Guide web app itself, and was surprised to find that (contrary to my intuition) the J-key is forward and the K-key is back. I suppose this comes from "K" being associated with the word BACK_ and "J" resembling the return arrow on the enter key (or a page turn indicator). But given their respective location on the keyboard, this navigational association seems backwards to me. Is this, as Google contends, an emerging trend? Have you seen other web-pages or web-apps that support this? Would you recommend it?
Answer: It is a convention which was popularised by the text editor vi, precursor to Vim.
To quote Stack Overflow user martin clayton from this highly related (but not exact duplicate) question

Bill joy, who wrote the visual mode of ex - which ended up being vim precursor vi - used a Lear Siegler ADM3A terminal on which the H, J, K, L keys mapped to left, down, up, right - and its been that way ever since.

Some examples of awesome sites which use this convention:

Google Reader,
Duck Duck Go,
Boing Boing
Comment: excellent link examples. In my own research I found [another link suggesting that vi was the precursor](http://www.labnol.org/internet/j-k-keyboard-shortcuts/20779/) for this trend. Turns out, "J" originally meant down and "K" meant up (as opposed to forward and back).
Answer: You can use any key on the keyboard as a shortcut key in a web application it's up to you to decide what letters do what. A popular script is jQuery hot keys https://github.com/jeresig/jquery.hotkeys
Comment: perhaps, but I'm interested in learning what the accepted convention is, if there is one.
Comment: The arrow keys also work on that site forward and back etc. I doubt there is any specific convention. Everyone's apps are different. For a book maybe J is associated with Jump forward. And K back. If you want to know why they chose those letters I would contact the author

using J & K keys for navigation


Is it fine to create a custom exception class that has the same name as a built in one in apex?

Question: I need to throw exceptions within my apex classes here and there, as most of us do. In fact, we can't throw built-in exceptions so we have to create a custom one that extends from the main exception class. I face a situation most often where there is a built-in exception that completely matches my situation, let's say the InvalidParameterValueException when an empty string is passed as a param to a method. I have created a custom exception with the exact same name and am able to use it with no problem.
My question is: Is there a problem to do this?
and I know that I can just simply change the exception name slightly to differentiate the built-in one from my custom one, but this question is just for clarification on what are potential issues that can occur and the risk involved. Thanks!
Answer: You can, except that if you do so, if any other code anywhere in your code base references that exception, you may get unexpected results. For example, consider:
public class DmlException extends Exception {
    /* Implementation here */
}

And somewhere else in your code base:
try {
    insert records;
} catch(DmlException e) {
    /* handle the error */
}

You'll be surprised to find that this exception will not be caught. You've just shadowed the default exception with a custom one, and now none of those try-catch blocks will work.
Every time you use that try-catch, you'll get:

Uncaught System.DmlException: ... blah blah blah ...

You'd have to scour your entire code base, and replace all of them:
try {
    insert records;
} catch(System.DmlException e) {
    /* handle the error */
}

Also, you'll be inviting anyone else who ever works on your code, ever, to fall in to the same trap (including your future self a year from now that forgot that you did this).
So, while you technically can, I strongly advise that you do not, as it can, and probably will, break completely unrelated code in hilarious but infuriatingly difficult-to-fix and/or difficult-to-debug ways.
Finally, there are other subtle nuances, such as the fact that you may break unmanaged or unlocked packages that do not expect you do override a default exception class (managed packages would be safe from this problem, however).
Answer: sfdcfox is quite correct in his answer that you can but shouldn't create your own exception with the same name.
It's worth pointing out that in the example you gave, InvalidParameterValueException, you can can construct and throw the system exception e.g.
@IsTest
private class ThrowSystemExceptionTest {

    public class ThrowSystemEx {
        public ThrowSystemEx() {
            InvalidParameterValueException e = new InvalidParameterValueException('a', 'b');
            e.setMessage('Expected better parameters');
            throw e;
        }
    }

    @IsTest
    static void uncaught() {
        new ThrowSystemEx();
    }
    @IsTest
    static void caught() {
        try {
            new ThrowSystemEx();
        } catch(InvalidParameterValueException e) {
            System.debug('Caught with message: ' + e.getMessage());
        }
    }
}

The uncaught() example fails the test, but with the sort of stack trace you'd hope for with a normal exception.
The caught() example shows that you can catch and handle the exception as normal.
Throwing the system exception probably solves your underlying problem with the minimum of ugliness.
Comment: Thanks for your answer! would you please explain on how comes it's possible to construct the InvalidParameterValueException in the class constructor?


Login screen doesn't support dual monitors

Question: When I log in to ElementaryOS, my wallpaper spans as expected because of the tweaks I installed. However, the login screen show mirrors the displays and doesn't account for different screen resolutions. When I log in, the screen flashes multiple times as if I had just plugged in the VGA cable. Is there any way around this?
Answer: This is a known bug and the only way around it is likely to fix the bug. This is not necessarily true, but most likely is seeing as it appears to affect all installations with multiple, variant screen resolutions. Seeing as the burden of proof is always on the claimant, and I see no evidence that there would be a solution to this, I am going to close this as a duplicate of a bug report.


Is it possible to know the number of American residents/students/tourists leaving France each year?

Question: Regarding an implementation my company is conducting in France, I would like to know if it would be possible to know the number of American citizens leaving France each year?
Comment: Do you consider people with both US and French passports as Americans?
Comment: As far as I know, there is no population register in France. The majority of their statistics are based on census data. It is unlikely that the data you are looking for is publicly available, if exists at all. I have checked Eurostat, OECD and Insee (national statistical agency of France). There are no such data in these three sources.
Answer: It seems likely that the vast majority are tourists, so you should be able to get a good first approximation by looking at tourist arrival numbers - generally speaking, tourist arrivals & departures in any given year should be about equal!
(Both the American and French governments publish statistics on tourism numbers.)
This will account for a few million departures. By comparison, US students in France number 10-20,000, and there are around 100,000 expatriates. Even if they all travel once or twice a year, the tourist numbers will still dominate the estomate.
Answer: Yes, you can get a general ball park figure, but it is based on a lot of assumptions. My main assumption is when you say leave, you mean as departing from France merely as a tourism function and not a permanent relocation.

Assumption 1: The significant amount of travel by Americans will travel directly by air from France to the United States of America.

The Bureau of Transportation Statistics provides the number of passengers traveling to and from the United States of America, find the information here. If you take only the passengers traveling from France to the United States of America, you get a general idea of how many people travel the route; about 3,300,356 passengers in 2014.

A couple of caveats, the number of passengers is only for the direct routes, so trips that puddle jump to England and then travel to the United States are not counted.
Passengers on these trips are counted if they are coming from other countries as part of a puddle jump, the passenger could be flying from Dubai to visit the United States.

Assumption 2: If we eliminate French tourists, all that remains is American travelers; disregarding spoke operations.

The Office of Travel Tourism and Industries provides International Visitation in the United States. It specifically develops a French tourism synopsis, among other nations, to which an estimated 1,625,000 French tourists visit the states. Leaving us with 1,675,356 passengers with flights to in the United States of America.

Assumption 3: United States tourists do not all directly fly to France and they will leave France within the year they arrive.

Checking the outbound United States tourists, 2,124,000.

Assumption 4: Expatriate travel is insignificant.

The United States Embassy estimates there are 100,000 expats in France. Which assuming a 10% travel inclination to leave France, does not have a significant impact on estimates. This piggy backs on Andrew's comment.

Based on all of this, you can crudely estimate on a yearly basis the number of Americans traveling from France. For 2014 you can estimate between 1.6 million to 2.1 million Americans traveling from France to the United States. The great thing about the BTS data is that it is available on a monthly basis.


What is the Biblical and Traditional basis for doing Penance for others?

Question: I know we can do penance for ourselves, but how is it possible to do so for others? And also, it seems we can do penance even for non-believers, how does that work?
Comment: Christ on the Cross, is one small example.
Comment: "We can" means as Christ on the cross?
Answer: In Catholicism such people who take on penances for others are called victim souls. Victim Souls are someone who offers their life, their will and their intense sufferings to God for the salvation of immortal souls.

To speak of certain holy individuals whom we collectively call "victim souls" takes us into territory that many Christians often fail to understand: the redemptive power of human suffering.
A victim soul is an individual who has been chosen by God to undergo physical, and sometimes spiritual, suffering beyond that of normal human experience. The victim soul willingly accepts this unique and difficult mission of offering up his or her pains for the salvation of others.
Although Jesus Christ accomplished our redemption once and for all by suffering torture and crucifixion for our sins, Scripture also affirms the value of human suffering. Christ points to this value himself when He says, "Whoever wishes to come after me must deny himself, take up his cross, and follow me" (Mk 8:34).
Perhaps more pointedly, St. Paul writes that we are "heirs of God and joint heirs with Christ, if only we suffer with him so that we may also be glorified with him" (Rom 8:17).
St. Paul's own example gives clear witness to the possibility of "offering up" our suffering for the benefit of others when he declares, "Now I rejoice in my sufferings for your sake, and in my flesh I am filling up what is lacking in the afflictions of Christ on behalf of his body, which is the church" (Col 1:24).
Our own suffering takes on a redemptive dimension when we unite it with the passion of Christ.
"To be a victim necessarily implies immolation, and as a rule, atonement for another.
"Although strictly speaking one can offer oneself as a victim to give God joy and glory by voluntary sacrifice, yet for the most part God leads souls by that path only when He intends them to act as mediators: they have to suffer and expiate for those for whom their immolation will be profitable; either by drawing down graces of forgiveness on them, or by acting as a cloak to cover their sins in the face of divine justice.
"It stands to reason that no one will on his own initiative take such a role on himself. Divine consent is required before a soul dares to intervene between God and His creature. There would be no value in such an offering if God refused to hear the prayer." - Sister Josefa (What is a Victim Soul?)

Victim souls are co-redeemers with Christ and there are several individuals in the history of the Church that are considered Victim Souls.
St Faustina Kowalska, St (Padre) Pio of Pietrelcina, Therese Neumann, Blessed Alexandrina Maria da Costa, Marie Rose Ferron, Marthe Robin and St Gemma Galgani are a just a few examples of Victim Souls.

A "victim soul" is someone who offers their life, their will and their intense sufferings to God for the salvation of immortal souls. By uniting their sufferings to Jesus' sufferings, they bring down torrents of graces upon souls. Bl. Alexandrina was told by Our Lord: "Thousands have been saved by your terrible sufferings." Many victim souls received revelations about God's love and mercy. Here is one touching example: "I want to make known in writing the intense love with which My Heart burns for souls; I want to complain that I am forgotten, rebuffed; I want to plead for love as a beggar pleads for a crust of bread; I love souls so much, yet very often I am not understood and not loved." – Jesus to Bl. Dina
We are not all called to be "victim souls". St. Padre Pio said to one of his spiritual daughters that relatively few are called to be victim souls. - What We Can Learn From Victim Souls

The Vicitim Soul?

The Catholic Church does not officially designate anyone as a victim soul. The term stems, rather, from the testimony of those who have encountered Christians who seem to undergo the kind of redemptive suffering we have described.
The victim-soul status, even when it is genuine, is a matter of private revelation. Consequently, the Church teaches us that we are not obliged to accept, as part of the Catholic faith, the legitimacy of any particular person for whom such a claim is made, nor the genuineness of any mystical or miraculous claims that have been made in connection with such a person.
This includes even those people whose private revelations have been approved by the Church. (See the Catechism of the Catholic Church on this subject, No. 67).
Nevertheless, the fundamental spiritual truth -- illustrated so vividly by the notion of a victim soul -- still remains: We can accept the pain and suffering of this life with patience and love for the intentions and benefit of ourselves and others in the Communion of Saints. - Are We Obliged to Believe?

Outside this particular aspect of there are some of the faithful who performed penances for others as a sort of "proxy penances". An example of this can be found in the life of St. John Vianney (Cure d'Ars). It is described in the Biography of  St. Jean-Marie Vianney by Francis Trochu. We all know the penances of this man of God performed on himself!

His diet was a self-inflicted penance: boiled potatoes, usually days old, never more than two in a day. If someone gave him a loaf of bread, he would exchange it for a crust from a beggar. To his penitents, on the other hand, he gave easy penances, saying "I give them a light penance and perform the rest myself." - St. John Marie Vianney, Patron of Parish Priests

Doing proxy penances are not something new in the history of the Church. It is known that some penitents have asked of to do hard penances, like making a long pilgrim in one's place because of ill health in the Middle Ages.

This article investigates the religious practice of suffering for others in the early Middle Ages. In proxy penance, one person completed a penitential work for another, who received the spiritual benefit. This practice was based on the idea that one person could stand in for another to bear his burden. Using penitential, conciliar, liturgical, and epistolary sources, I uncover two types of proxy penance. First, priests shared in the penance of those who confessed to them. Liturgical texts include Masses in which the priest completes the penance for someone who could not complete it himself. Penitential texts admonish the priest to "share in the foulness" with the sinner in order to bring about the remission of his sin. Second, there was both a promotion and a criticism of proxy fasting among the laity. This sic et non rhythm shows that early medieval penitential culture could not control the demand for proxy penance. Some attention is also paid to the practice of proxy penance in the eleventh-century monastic milieu of Peter Damian. This article broadens the scope of current scholarship on penance by focusing on its substitutionary ability. Also, this article explores the changing notions of and metaphors about sin in this period—from medical to economic—that fueled proxy activity. - Penitents and Their Proxies: Penance for Others in Early Medieval Europe
Comment: So, to be clear, the sins, the victim souls cover them(like OT sacrifices)? Or do they completely take away the stain of sin like the sacrifice of Christ? To be clear. Also it would be ideal if you quoted 2 or 3 more saints concerning the topic to be more complete.
Comment: @DestynationY They are simply doing penance for others.
Answer:
Colossians 1:23-24 (DRB)
If so ye continue in the faith, grounded and settled, and immoveable from the hope of the gospel which you have heard, which is preached in all the creation that is under heaven, whereof I Paul am made a minister. Who now rejoice in my sufferings for you, and fill up those things that are wanting of the sufferings of Christ, in my flesh, for his body, which is the church:

Not that Christ's sufferings were inadequate, but that they did not pertain to every kind of suffering that Christians must undergo in order to fully recieve Christ and His grace to its fullest: His death was salvation from eternal death, not the death to the world (Rom 8:13) and to ourselves (Mt 16:25; 1 Cor 9:27; Lk 9:23) which me must undergo (Rom 8:17; Phil 1:29).
What more is needed to show vicarious penance (as opposed to penance for oneself—1 Cor 9:27)? If we can pray for all men (1 Tim 2:1), why not also do another form of prayer to God for them also (penance)?


Tracking What Is Done With a Function's Return Value

Question: I wrote a simple IDA plugin that, after a function call, looks for mov MEM_LOCATION eax and adds a name for the memory where the return value is stored. I limit my search to only a few instructions after the function call and bail out if I see another call before the return value is stored. Is there a more rigorous way to track where the return value goes besides these heuristics?
Answer: A more general name for that problem is Data Tainting.
You mark some data as tainted, and then follow the taint propagation in the rest of the code.
There is quite a lot of research going on about taint analysis, and there is quite a number of tools. Take a look at bitblaze (especially taint tracker edit: just figured it's no loner available and outdated...), it has a part for taint tracking.
If you'd need something more "lightweight" take a look at julio auto's and bsdaemon's  VDT which is more exploit-development oriented, but might give you an idea how things work. VDT actually does something very similar to what you do, but it does it in reverse. Given an execution trace, you can do a backward search from some value to see how it got initialized, where it was used, and what code it influenced.
For more academic approach , check out "All You Ever Wanted to Know About Dynamic Taint Analysis and Forward Symbolic Execution".
All this is about dynamic analysis, tho some simpler stuff can be implemented statically.
I can't think of any example/tool off the top of my head right now.
I'm sure somebody will come up with more tools and ideas.
Comment: This is a really great answer, thanks. I ended up accepting the answer on the static technique because that is the context in which I was having a problem.
Answer: In the static context, this is known as "data flow analysis".  For example, Hex-Rays incorporates the return-location information for function calls into its representation of the function so as to determine into which other locations that data flows.  You don't give a lot of detail on what you want to do with this information, but off the top of my head I'd say it could be worthwhile to investigate writing a Hex-Rays plugin.
Comment: I implemented my IDA plugin in Python. What algorithms would I use to implement dataflow analysis on the contents of `EAX`? Do I need to write something custom or are there tools available? I am interested in the static context because I am trying to add useful names before I start reversing.


Help with monero-integrations/monerophp error

Question: I downloaded the case study from https://github.com/monero-integrations/monerophp. I have also made the necessary arrangements but I am getting an error:
Comment: In future, please don't post *images* of text. You can easily copy and paste text output into the question.
Answer: The error you are getting stems from the fact the method you are trying to call (get_connections) is not an available method when running a restricted daemon.


What is this part near the entry point to my irrigation system

Question: Here is the overall view of the valve access box:  The valve is turned off because the pipe directly after the valve has come loose from the valve. I'd like to repair this, but I'm not sure what the grey/brown piece just below the valve is:  Here are a few more shots of the side and the cap on the part that sticks down:
Comment: That looks like a part used in draining the line. Either it is opened to drain the line or is a place to apply air pressure to blow out the lines to the watering heads.
Answer: That is a strainer wye. There is a metal mesh filter in there to trap sediment/debris; it can be removed and cleaned as necessary.
Answer: It looks like a backflow preventer. Its purpose is to prevent the water in the irrigation system from being drawn into and contaminating your house hold water supply. If the water pressure to your home  were to drop the pressurized water in the pipe could flow into your home.
Comment: I agree it looks like a check valve but it could also be a strainer pull the plug if there is a shaft it is a check valve a screen that is tubular it is a strainer.
Answer: It's an old Zurn Wilkins backflow preventer. They're still in business.


Accepting admission offer from more than one institute in United States

Question: I'm an international applicant and I'm not very familiar with the routines of admissions in United States. I was wondering if I get admitted from a university and accepting their offer and while trying to get F-1 visa for it, I get another admission from another university, would I be eligible to accept the admission offer of the latter university or not?
Comment: I think that would make things very complicated. You do not want to start your process and change schools while your application os being processed.  This might raise red flags and keep your application on hold. Usually, you go for an interview but the school has to provide you (and embassy) with needed information and forms (I believe I-20, etc). Everything need to be crossed checked multiple times over many levels. By the way, I meant "international" students in my previous comment and not "introduction".
Comment: Most universities will issue an F-1 visa for introduction students (some can issue J-1, if requested by your funding agency/government/institution). I didn't get you point on Visa?
Comment: I meant while our application is being processed in embassy. As I know the applicant themselves must apply for visa and pursue it.
Answer: You are only allowed to accept admission at one university.  As soon as you do so, you should contact all other universities to which you applied, and tell them you have chosen another school and are withdrawing your application.
If you accept admission at University X, then withdraw it and accept admission at University Y instead in the same year, it's considered unethical behavior, and Y might rescind your admission if they find out.
Most US universities use coordinated acceptance deadlines, so you should know exactly which schools have admitted you before you have to choose one.
Comment: I think when visas are involved things go from being frowned upon to being impossible, if not illegal. For example, I don't know if you can have two I-20s at the same time.
Comment: I've come up with a new situation. If one of the offers is for Spring and the other one is for Fall, we are still forbidden from withdrawing our previous accepted offer, especially when our previous I-20 is issued? I've heard the universities may accept to repeal your last I-20 and issue a new one with the same SEVIS.
Comment: @user3070752: I don't know about visa rules so I am not addressing that part.  But I would say withdrawing to go to a different university is still inappropriate even if they start in different semesters, and rescinding admission could happen in that case as well.  Basically, the issue is that if you accept admission and later withdraw, it will probably be too late for the university to admit someone else in your place, so a seat is wasted and some other student loses an opportunity.
Comment: I don't see how unethical this is. Universities opt to have earlier deadlines because they want to attract better students and force them to accept an admission offer, they have to accept the risk. Be fair to students, they are choosing a place to stay for the next few years and the credentials follow them for the rest of their life.
The Universities can charge higher deposit fee if they want students commitment. They, instead, already find the right balance between a smaller deposit amount and having a waitlist. It's just business. No one is committing to anything here.
Answer: I've asked this question from a university in U.S. and they provided me this answer:

This is probably do-able, but you would likely end up losing the
  deposit (if you made one) at the other institution.
Ethically, this might be a gray area. But that would be up to you to
  determine what you are comfortable with.

Another university said:

Yes, as long as you do withdraw from consideration to the other PhD
  program in March/April, then you would most certainly be eligible for
  our CS PhD program.

So I think however this is not very ethically a correct action but is not forbidden and those who have previously accepted an offer would have this chance to change their mind.


What is the right way of living in the Present?

Question: What is the right way of living in the Present?
Present day living is full of challenges and with forces in play and to act in certain way. How does one follow the Path in these conditions without incurring  karma and its after-effects?
Comment: Hello and welcome to Buddhism.SE. We've put together some information to help you get started [here](http://meta.buddhism.stackexchange.com/questions/1502/i-am-a-new-user-here-at-buddhism-se-what-should-i-know-before-i-post).
Comment: Just amending the title to make it more descriptive. Please roll back if the new title is not suitable
Answer: For me, the challenges of living mindfully are related to wandering from the precepts. I get bogged down in work, driving, shopping, life in general... and just forget. One tool I've found useful is chants -- I start each day listening to, and mumbling to myself, the 3 gems and 5 precepts chants. Those tend to "stick" in my mind, and I hear them in my mind throughout the day, which helps me remember to guide my mind away from work, driving, shopping, etc... and back to the present moment!
Comment: Hello and welcome to Buddhism.SE. We've put together some information to help you get started [here](http://meta.buddhism.stackexchange.com/questions/1502/i-am-a-new-user-here-at-buddhism-se-what-should-i-know-before-i-post).
Answer: One piece of advice is to avoid planning for the future and dwelling on the past and instead focus your attention on your senses to observe your environment. I recall once I was feeling anxious and depressed and just happened to be taking out the trash—just walking outside, feeling the breeze and sun, hearing the birds, smelling the fresh air, seeing the blue sky, I laughed and smiled and immediately I felt uplifted. Having spent so much time in my apartment, I was almost numb to my environment, which promoted neurotic thinking. Moving my awareness to nature so that I had more stimulation in the present helped me to be more in the now, as it were, so that my mind was not stuck in the past or future. It was one of those "looking at the flower and laughing" realizations for me.
Answer: Approach each moment with the intent to live a more full, complete life with same intention and attention that you showed while asking this question.
A willingness to question your sense of what you are experiencing and a desire to grow into a deeper understanding of yourself and the Dharma and others in your life are good starting points. If you have access to a sangha of some sort, in the town of your current home, online, etc, meeting with that group can offer more examples of a life that best suits your needs.
I hope this helps answer your question.
Answer:
How does one follow the Path in these conditions without incurring karma and its after-effects?

Karma and its after-effects will occur until one becomes an Arahant and thereby breaks the last 5 fetters, i.e. "Craving for fine material existence, Craving for existence on the level of formlessness, Conceit, Restlessness and Ignorance".
Until then, every moment is either a "kamma-making-moment" or a "kamma-receiving-moment".
Following the path is not different in these conditions. The experiences are still the same, i.e. hearing, seeing, tasting, feeling, smelling and thinking. That is the same whether one is living a rich life, a poor life, if one is healthy, dying etc. The experiences don't change. Its still just the 6 sense-experiences occurring incessantly.

What is the right way of living in the Present?

Be ever mindful. Always be vigilant. Be mindful of mental and physical phenomena as they arise and pass away in the present moment. Be with reality as it is, when it is and eventually one will set oneself free.
Answer: I do agree and like @Lanka answers; "every moment is either a "kamma-making-moment" or a "kamma-receiving-moment"."
Yes. It is the way we living.
As you describe in your question: "Present day living is full of challenges"
That present day could be the result of what you done before, that challenges will something of what you did yesterday, and what can make you who you are by doing what you think you have to do.
So you simply follow you daily kinda works, saying what you have to say...
Every single moment is Karma, and I believe it is also belongs to every human being, not only to Buddhist.


sandbox for analyzing network traffic

Question: I am in search of looking an open source sandbox that has the following features:
- route my network traffic to the sandbox for analysis
- perform analysis on network traffic to detect malicious activities or generate intelligence from traffic
what I am mostly interested is to route netflow data if possible!
I have checked cuckoo sandbox but it only has the ability to submit samples! I could not find a way that I can route my network traffic to cuckoo.
Answer: If you are analyzing ELF binaries, then the open source online sandbox detux may prove useful:

Detux is a sandbox developed to do traffic analysis of the Linux malwares and capture the IOCs by doing so.

Detux logs network data including IP addresses the program sends signals to, DNS queries, URLs accessed and TCP raw streams:

If you are performing analysis of Windows PE binaries then FakeNet may be of interest to you:

FakeNet is [a] Windows network simulation tool designed for malware analysis. It redirects all traffic leaving a machine to the localhost (including hard-coded IP traffic and DNS traffic) and implements several protocols to ensure that malicious code continues to execute and can be observed by an analyst.
The tool supports DNS, HTTP, and SSL protocols and provides a python extension interface for implementing new or custom protocols. It also the capability to listen for traffic to any port as well as create packet capture on the localhost.
Right now the tool only supports WinXP Service Pack 3. The tool runs fine on Windows Vista/7 although certain features will be automatically disabled.

Note that FakeNet is not a sandbox but is employed when analyzing binaries on an isolated system.
If neither of these tools are what you are looking for, here is a long list of online scanners and sandboxes: https://github.com/rshipp/awesome-malware-analysis#online-scanners-and-sandboxes
and here is Lenny Zeltser's list of free automated malware analysis sandboxes and services: https://zeltser.com/automated-malware-analysis/
If there is no tool that meets your requirements you can always create your own analysis lab. Books that will provide guidance for such an endeavor include "Practical Malware Analysis" by Honig and Sikorski (creators of FakeNet) and "Malware Analyst's Cookbook" by Ligh and Adair.
Answer: Give a try to Sandboxie. It is feature-packed, comes with an interesting licensing model which does not require you to immediately shell out your hard earned bucks.

Sandboxie is shareware software. The free version is missing a few
  features which are available in the paid version. After 30 days of
  use, the free version displays reminders to upgrade to the paid
  version, but remains functional. For personal use, you are encouraged,
  but not required, to upgrade to the paid version.
  For non-personal use (including commercial, educational, governmental, and not-for-profit use), Sandboxie must be properly
  licensed. See Commercial Licensing.

sandbox for analyzing network traffic


In multisite environment which is the most Popular blog?

Question: In a wordpress multisite - selfhosted environment:-
how to know which blog has highest number of visitors ?
how to know which blog has highest number of comments and posts ?
Answer: Google analytics can help you track down the blog visits.
This plugin may help:
http://wordpress.org/extend/plugins/generalstats/
I'm working on a most comments plugin for release as well.
So far, I can;t think of any plugin off the top of my head that specifically says this blog has the most posts - though the number of posts per blog is visible in the admin area (Sites menu)
Comment: Curious to hear if you have made progress on a "most comments" plugin for Multisite.


Is it compulsory to hire a local certified guide for trekking in the Great Himalayan National Park?

Question: I am a fairly experienced and soon to be technically qualified(meaning Advanced First Aid and Wilderness Skills certification) Himalayan trekker.
I wanted to know if hiring a guide to trek in GHNP(Great Himalayan National Park) is compulsory or not as I wanted the hiking group to consist of just my friends and I .
Comment: I don't know about the Himalayas, but for Kilimanjaro and Mount Kenya there is a requirement to have a guide, and it has nothing to do with your skills or experience. They mainly just want to make sure that locals get employed as guides, so the government makes it a requirement. We're talking about places with >50% unemployment. In any case, your certifications don't relate to knowledge of the actual area.
Answer: Short answer: Not really, as long as your venture falls into a hike.
Although you are technically experienced, the advance first-aid certification does not make one technically capable of leading a expedition in Himalayas.
For any of the mountaineering adventures above 6000 m, IMF mandates that a expedition leader should have a Advance Mountaineering Course certification from any of it's affiliated organizations and should have registered a successful ascent of a 6000 m peak.
However, you are clearly terming your venture as a hike, I assume it ill be at most up to 4500 m considering the GHNP region. It would be better if you opt for local guides and support staff, but no governing body mandates you to hire a guide.  Also, hiring a guide and/or local support staff eases out the procedure with hiking permits in the region.
Comment: Are IMF guidelines legally binding?
Comment: @JonathanReez: No. You can legally choose not to take permissions from IMF. However, People prefer to register their expeditions with IMF because it provides accountability and tons of information which is very precise. Secondly, your climb gets registered which helps in a way that in future when you want to attempt other peaks that require IMF clearance, you previous climbs are considered before granting the permits.


How should I install hardwood flooring around spindles?

Question: I have oak steps that we installed up to a living room that is carpeted.  How do I install hardwood floors and deal with the spindles on the floor?  My husband made adjustments when he did the stairs (because of the angle, etc) but we are unsure how to tackle the hardwood install on the rest of the spindles across the floor when we remove the carpet..
Comment: I'm really going to need a picture here.  Can you upload one somewhere and post a link?  One of us will edit it into the original question.
Comment: Agreed it's not really clear what the issue is.. Though I think the answer might be to remove the banister spindles, put the floor down and then reinstall...
Comment: My guess is that the living room, currently carpeted, has a descending staircase protected by a railing to stop people from falling down the hole.
Answer: I have a similar situation and I know that you are saying the spindles are attached to the floor. I would get some hardwood and cut out like the tooth pattern around the spindles - this will give you a clean edge to line up on.  Remember to make a template of the exact space, then cut out on your wood and slip in. Allow the complete depth of the spindle on the one piece of wood - then you just have to put a straight strip up against it.   In my case, to take down 60 some spindles is not an option. I will be using 6 to 8 foot length to cut these out in.  I am using heavy brown paper as my template or light cardboard (Bristol).


Is the class NP closed under complement?

Question: Is the class $\sf NP$ closed under complement or is it unknown? I have looked online, but I couldn't find anything.
Answer: First of all, the question you are asking is open, since an affirmative answer shows that $\sf NP = coNP$. In fact it is one of the most prominent open problems in computer science.
If $\sf P= NP$, then the class $\sf NP$ is closed under complement since $\sf P$ is. If on the other hand $\sf P \not = NP$ then we cannot say whether $\sf NP = coNP$ or not. Notice that $\sf NP = coNP$ implies that the polynomial hierarchy collapses to the first level. However this would not imply that $\sf P= NP$.
Answer: The answer is "not known to science". It is known that P is closed under complement. So if P = NP then NP is closed under complement as well. Also, if NP is not closed under complement, then P != NP.
Comment: The converse of "If P=NP, then NP is closed under complement" would be "If NP is closed under complement, then P=NP". However, this is not known to be true: it is possible that NP is closed under complement but is still different from P.
Comment: Thanks for the correction @DavidRicherby. Replaced "Conversely" with "Also".
Answer: It is unknown. A proof of the P vs. NP problem would give you an answer.
Comment: No it wouldn't. If P$\neq$NP (which is what most complexity theorists believe), then it's possible that either NP=coNP or NP$\neq$coNP.
Answer: "Every deterministic complexity class (DSPACE(f(n)), DTIME(f(n)) for all f(n)) is closed under complement, because one can simply add a last step to the algorithm which reverses the answer. This doesn't work for nondeterministic complexity classes, because if there exist both computation paths which accept and paths which reject, and all the paths reverse their answer, there will still be paths which accept and paths which reject — consequently, the machine accepts in both cases".
Source
Comment: This only shows that one way of proving closure under complementation doesn't work. Other ways might be possible – for example, [NL is closed under complementation, and the same holds for many other nondeterministic space complexity classes](https://en.wikipedia.org/wiki/Immerman%E2%80%93Szelepcs%C3%A9nyi_theorem).
Comment: Also, we're looking for answers, not copy-pastes from Wikipedia. (But thanks for acknowledging your source.)


Linking to research

Question: I think it would be good to have a culture on this forum of linking to actual published research on educational questions as far as possible.  However, when I did this at What are the arguments for and against learning multiplication table by heart? I got a (perfectly reasonable) complaint that access to the paper would cost $40.  It is freely available to me, via my university's package deal with the publisher (Springer).  I imagine that the same is true for people based at most other research universities, although it would be nice to have confirmation of that.  However, this forum should certainly include people who are not based at universities.  I do not know whether pre-university teachers often have access to educational journals, nor do I know whether there is any culture among educational researchers of posting papers openly.  (I could not find an open version of the paper that I linked to in the above answer.)  It would be useful to gather information about these things, and also to discuss possible policies about linking to research.
Comment: I seriously doubt the majority of non-research teachers has access to educational journals other than what is publicly available.
Answer: The issue of linking to pirated versions of copyrighted works has been discussed before.  See:

Answers that direct towards material that infringes copyright
Links to pirated material in the edit history
Is it ok that questions mention illegal downloads?
Policy on links either directly or indirectly to pirated content

The consensus seems to be:

Moderators may remove such links at their discretion, but are not required to do so.
Because of the "safe harbor" provision of the Digital Millenium Copyright Act, the Stack Exchange network is not legally required to police links to copyrighted content.  However, they must respond to takedown requests issued by copyright holders.

I think it's very unlikely that the Stack Exchange network would receive a takedown notice because of a link to an academic paper in the comments to an answer -- it would be much more likely for the copyright holder to contact the website where the paper is hosted and demand that it be taken down.
Note also that there's a long history of academic researchers sharing copies of papers with close colleagues, and this activity is recognized as fair use.  There is an argument that the posted link is an example of this, especially if the commenter who posted the link removes the PDF in a few days.  (This is my own interpretation --- be aware that I am not a legal expert.)
So my opinion is that we should largely ignore this activity unless it becomes a serious issue.  It's important that this site doesn't become a forum for piracy, and I certainly think a question of the form "Where can I find a free copy of < some paper >?" would be inappropriate.  But the occasional comment linking to a dubious copy of an academic paper isn't really hurting anybody.
Comment: While this may work, I think that finding publicly accessible research is preferable in general.
Comment: @Skytso I certainly agree.
Answer: I think citing research is important, but in some cases  you might be better served by taking a part of the article out(I think you can copy a paragraph and cite without it breaking copyright law). Summarize and quote the relevant parts to your answer and cite it so people can find the article if they want to know more. A good amount of the questions on here seem to be more directed toward university classes and teachers there will probably have access if it is from a big name, but it would not be good to discriminate against the teachers and members who do not have access.
Answer: I strongly recommend to include the results of recent research, even if it has restricted copyrights. Usually, people will see whether the recommended ressource fits their interest or not (title, abstract, free preview).
Maybe one should also spread the idea of contacting the authors. I have done this several times and it always worked. Mostly they were happy that someone is interested in their work. Ususally the copyright agreements include the possibility for the author to share the paper freely with colleagues for scientific use.

Linking to research


How historically accurate is 'India: A History' by John Keay?

Question: I have been looking for a book about Indian history. Recently I came across this answer, which suggested reading India: A History by John Keay. I wanted to know whether it is historical and accurate. Or is there any thesis put forth and all Indian history is viewed from that angle?
Comment: +1 because this book is currently sitting on my shelf, waiting to be read.
Comment: @twosheds You can go ahead and read the book. I did, and I would certainly recommend it. :-)
Answer: I decided to read the book anyway, after waiting for someone to answer the question. I understand this is not a place to review books, but here are my two cents.
The narrative is, in my opinion, as unbiased as it can get. While talking about unclear parts of Indian history like Aryan invasion / migration / indigenous Aryans, he explains pros and cons of each theory before explaining the generally accepted theory. Also, the narration of post-independence politics (intra-national or international) politics seems objective. As I hoped it to be, it doesn't discredit India from its achievements, nor does it over-glorify them. A must-read for anyone who is interested in Indian history.
Comment: Upvoted, because the question needed an acceptable answer. I'm always a bit uncomfortable answering and accepting on my own question, but some times it needs to be done.
Comment: +1. We need to talk about history rather than biased opinions.
Answer: This is a partial answer relating to the book's unbiased status.
No.  The book is not unbiased.  The book's biases may be historiographically justifiable, but, necessarily, the book is not unbiased.  Bias is as unremovable from texts as it is from woven fabric: the fabric of texts produces a bias.
Sources: historiographical theory of bias in texts, and the nature of texts as bias.
Comment: I understand what you mean. But what I wanted to ask is whether the bias is "too much". For example, I am aware two very biased narratives of Indian history — one that claims India was essentially a barbarian area before colonization, and another which claims Indian wars used nuclear weapons thousands of years earlier. So, it's fine if there are a few biased statements here and there, but is it objective in general? I hope this makes sense.
Comment: Neither of the types of account you list are "history," the first once was, the second never has been.
Comment: @SamuelRussell Did you mean to link in sources?
Answer: Your question is the rare one that no one even bothers to ask. From the beginning of the creation of Indian history, bias has played an important role. The funny thing is,  the history of India being taught in schools are created by the western people of British East India Company. The purpose of creating biased Indian history is to strengthen their rule over then India. That's how the "Aryan Invasion Theory" born. Another thing was the Christianity that influenced those historians. They set the chronology of Indian historical events according to the bible. According to bible, the creation began 4004 BC. Hence whatever historical events occurred were pushed around 2000 BC - 1500 BC and so on. You take Max Muller, H. M. Elliot, Vincent Smith, W. W. Hunter or any other, you will find the same biased view.
After the independence, Indian history department was completely filled with communists who hated everything that belonged to ancient India. As a result, they followed the earlier western historians and added more biased version while creating history books for schools, colleges and universities. Romila Thapar, Sathish Chandra, Ram Sharan Sharma are such kind of Indian historians. However, there were some historians who tried to discover the truth but were either ignored or silenced. If you want to know how they twisted Indian history, read Edi Charitra or visit this link
http://www.stephen-knapp.com/the_real_history_of_india.htm
Comment: This does not answer the question. Don't attack persons- you can refute their views. Don't express hatred for communists/rightists/whatever. Back your views with evidence. And let's not deny that the Bhrahmins killed Buddhism, the dominant religion for more than 2000 years. True, Muslim invaders destroyed temples. But then these temples were usurped by Brahmins from the Buddhists. Archaeology says so. Not the communists.
Comment: I'm not attacking anyone. I'm just putting the facts. I'm not spreading hatredness here. When I said Indian history was biased, I'd to explain why it was, how it was done and who did it. I just can't say the history was biased. So what is wrong if I tell the facts? Do you want evidence? Ok, read these books - "Hindu Temples – What Happened to Them", "Indian Muslims: Who are they", and "The Legacy of Jihad: Islamic Holy War and the Fate of Non-Muslims". There are many but not in English or Hindi. "Bhrahmins killed Buddhism"?! Any proof? Archaeology under whose control? Communists only.
Comment: When it is outside your belief system you ask for proof. But what you state can be questioned. Would you like to continue the discussion in chat? Because StackExchange prefers not to have discussions in comments. Click [here](http://chat.stackexchange.com/rooms/1560/the-time-machine) for chat.
Comment: Look, everyone's statement is questionable; not only mine or yours. It is not about a belief but facts. What do you say about Bhaktiyar Khilji's actions? Yea, I'd like to chat but not now. I'll send msg when I'm ready. I've to solve some of my problems. I hope you'll understand.


How to publish my module in magento Marketplace?

Question: I have developed a module for magento 2. In particular is a custom shipping method, I would like anybody could be able to use my shipping method.
How can I do to put my module downloable.
I tried on https://packagist.org but is saying to me that "URLs with user@host are not supported, use a read-only public URL", I have my repo in bitbucket but I dont know how to solve that.
I am not getting the relation between Magento MAarketPlace and Packagist.
Thanks!!
Answer: For publishing your extension on marketplace it has many phases which your module need to pass else magento will reject you module there are many phases like:

Setup Marketplace Account.
Adding Your Product to marketplace.

Once you added your product or module you need to answer few questions.

Marketplace Extensions Review Process.

In this process magento will go through your product and review it in every aspects.Once they give your green signal you are ready to go with your product.
For more information you can click here
Comment: hey @Shubsham, thanks for your answer. I will read this page in details. But I see they talk about selling, I just want to put my module free there. Is in the same place where I should put it?
Comment: Yes its the only place if you want to put it on magnto platform officially else there are many sites where you can put it but i suggest you to publish it here because it worth alot and will help others too.


How can someone stop clickjacking?

Question: I was looking at a lecture of clickjacking and when I tried to create an iframe to go to website, I noticed that websites with no https are able vulnerable to clickjacking. Is there another way to stop clickjacking without SSL or do you need to use something else?
Comment: I think you need to investigate clickjacking a bit more - you can certainly clickjack https websites, and there are some standard methods to prevent it - top google result is https://www.owasp.org/index.php/Clickjacking
Answer: There is an anti ClickJacking HTTP header you can add to your responses.
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/

Deny will stop the content loading into a frame, iframe or object, Same Origin will allow loading into pages on the same domain, 'Allow From' allows you to specify URIs that may frame your content.
The browser implements support for this, so there is a reliance on the user using a browser that complies with the header, though major browsers have supported this for a while- support is in place for IE11, Edge14 and Chrome 49.
You should configure your webserver to  add this HTTP header to responses
You can also use frame ancestors if you are using a Content Security Policy.
Comment: X-Frame-Options is deprecated (actually was never made into standard), the proper, modern way to do this is via CSP. If you are worried about old, non-compliant browsers, you need to implement framebuster code anyway.
Answer: A website prevents clickjacking by preventing untrusted origins from embedding the site in a frame.
The established and reliable way to achieve this is to send an X-Frame-Options header. If you have no intention of having you page embedded in a frame of any origin, you can set it to DENY:
X-Frame-Options: DENY

Other options are SAMEORIGIN for access from the same domain and ALLOW-FROM to specify permitted domains.
The more modern (but not as widely supported) way to prevent clickjacking is sending a CSP header with the frame-ancestors directive. Setting it to none has roughly the same effect as X-Frame-Options: DENY:
Content-Security-Policy: frame-ancestors 'none';

You can find all common anti-clckjacking techniques in OWASP's Clickjacking Defense Cheat Sheet.
Comment: X-Frame-Options is deprecated (actually was never made into standard), the proper, modern way to do this is via CSP. If you are worried about old, non-compliant browsers, you need to implement framebuster code anyway.
Comment: @AviD I already referenced the modern CSP solution in my answer. But since it's not as widely supported as XFO I wouldn't recommend people to drop XFO right now.
Comment: It's 2017. Any modern browser supports CSP, or at least enough of a subset to cover this usecase. XFO is done.
Comment: @AviD IE11 doesn't support the directive. Despite not being a modern browser it still has a global share of >3%. Personally, I don't care too much about supporting outdated browsers but for a big site there are definitely legitimate use cases to keep XFO.

How can someone stop clickjacking?


Does the Sigma 70-300 AF-D work on the Nikon D3200?

Question: When I mount the lens the camera asks me to set the aperture to the lowest setting and lock the ring. When I lock the ring the lens works but the auto focus is non existent. The seller on eBay that I bought it from stated it was an auto and manual focus lens for all DSLR Nikon's. Any thoughts?
Answer: Your lens will work on your camera, but it will need to be manually focused. The seller may have technically been correct while intentionally being a bit misleading: it is an autofocus lens and it can be used as a manually focused lens for all DSLR Nikon cameras, but it can not be used as an autofocus lens on all DSLR Nikon cameras.
Your lens does not have a focus motor. It can autofocus only with Nikon cameras that have a focus motor in the camera body. The D3x00 and D5x00 series, along with the older D40 and D60 do not have focus motors in the camera body. For more, please see Which Nikon DSLRs have an autofocus motor in camera body?
Answer: I believe that only the newer versions of the Sigma 70-300mm F4-5.6 APO DG Macro have the built-in AF motor to make it compatible with with your D3200. Photos of this lens show it has no aperture ring.
The fact that you mention aperture ring tells me you must have an older version without the AF motor.
Can you return or exchange the lens?


Perfect Auxiliary of Transitive Verbs

Question: Can transitive verbs only taken "haben" as an auxiliary (ie, as opposed to "sein")? I am not aware of a counter-example to this.
Comment: @DavidVogt _not_ a duplicate. There's [a community decision to treat questions in different languages not as duplicates](https://german.meta.stackexchange.com/q/807/9325). Linking to the other is recommended, though.
Comment: Possible duplicate of [Bilden transitive Verben das Perfekt immer mit "haben"?](https://german.stackexchange.com/questions/17976/bilden-transitive-verben-das-perfekt-immer-mit-haben)
Comment: @DavidVogt how about writing an answer _in the asker's preferred language_? Not all users are fluent enough to understand the answer in German (or speak English well enough in the reverse case).
Comment: @Aaron Please do not usage the tag [standard-german](https://german.stackexchange.com/tags/standard-german/info) for questions such as this one. Quoting from the linked page: *Only use this tag for questions about standard German as such, e.g., how it is defined, when it is used, or how it relates to other variants of German.

Do not use it to indicate that you want to know about a particular grammatical feature, rule of orthography, or word in Standard German. This is not necessary, as standard German is assumed as the default anyway.*
Answer: For the great majority of sein-Perfekt-Verben, this is true. There are even verbs which may be used transitively or intransitively, for example fahren:

Er ist in die Waschanlage gefahren.
Er hat den Wagen in die Waschanlage gefahren.

However, German cannot exist without exceptions, as noted in the German-language answer given in the comments:

Der Wagen ist den Dreck dort losgeworden.
Er ist die Akte durchgegangen.
Sie sind einen Pakt mit dem Teufel eingegangen.
Comment: Verbs that build their Perfekt with *ist/sein*. Nothing special. If you wanted to discuss those in detail, another question would be better.
Comment: Yes, especially Southern German has a lot more verbs that build their Perfekt with *sein*.
Comment: Would you mind providing a quick definition of "ist-Perfekt-Verben"? Thanks for the answer though! Very helpful.
Comment: Also, I know the auxiliaries can vary between regions so are the exceptions Hochdeutsch?

Perfect Auxiliary of Transitive Verbs


Can I break power steering by turning too far

Question: Will I damage power steering in a 2008 Camry XLE if I routinely turn the steering wheel to its limits, i.e. where it will not move further?
Answer: This is called "cramping" the steering and it is bad for the pump and for the steering rack. What you are doing is forcing the system to try and push the steering components further than what they are meant to go. This causes over pressure on the pump (you may hear a slight squeal sound of the belt as the pump momentarily stalls), and it creates a bind in the steering rack as it is being forced to go beyond its limits. This also can over heat the fluid causing it to deteriorate quicker, and you probably guessed it wears out the serpentine belt sooner. All-in-all, not good.
Comment: Indeed - the handbook for my current car specifically says "Do not hold the steering wheel at full lock for more than 60 seconds as this can cause damage to the power steering system" (or words to that effect)
Comment: Wow , didnt know that nice question and answer.


Markov text generator

Question: This is a Markov text generator I've created in JavaScript. I'm pretty sure the term "Markov" applies, anyway.
The way the generator works is like this: it first divides the source text into unique "chunks" of length n (specified via the order parameter, greater = more coherent result), and, for each chunk, determines which characters follow it how often. When generating a new text, it looks at the last n characters of what it's generated so far, then randomly selects one of its possible followers and appends it to the text.
(The last bit is apparently slightly different from the Dissociated press algorithm, which would output each follower with the same probability and not account for how often they occur.)
Long story short, here's my code. I'd mainly like to know if I'm following the common best practices as far as object orientation goes, I've had little experience with it before, but any kind of feedback is appreciated.
function Markov(sourceText, order) {

    this.sourceText = sourceText;
    this.order = order;

    this._setupFrequencies();

}

Markov.prototype = {

    _setupFrequencies: function() {

        this.frequencies = {};

        // for each substring of length <order>,
        // create an array of characters that can follow it
        for (var i = 0; i < this.sourceText.length - (this.order - 1); i++) {
            var chunk = this.sourceText.substr(i, this.order);
            if (!this.frequencies.hasOwnProperty(chunk)) {

                var followers = [];
                for (var k = 0; k < this.sourceText.length - (this.order - 1); k++) {
                    if (this.sourceText.substr(k, this.order) == chunk) {
                        follower = this.sourceText.substr(k + this.order, 1);
                        followers.push(follower);
                    }
                }

                this.frequencies[chunk] = followers;

            }
        }

    },

    _getRandomChar: function(chunk) {

        if (!this.frequencies.hasOwnProperty(chunk)) {
            return '';
        }
        var followers = this.frequencies[chunk];
        var randIndex = Math.floor(Math.random() * followers.length);
        return followers[randIndex];

    },

    _getRandomChunk: function() {

        var randIndex = Math.floor(Math.random() * this.sourceText.length);
        return this.sourceText.substr(randIndex, this.order);

    },

    generateText: function(length) {

        if (this.sourceText.length <= this.order) {
            return '';
        }

        var text = this._getRandomChunk();

        // take the last <order> characters from the generated string,
        // select one of its possible followers, and append it
        for (var i = this.order; i < length; i++) {
            var currentChunk = text.substr(text.length - this.order);
            var newChar = this._getRandomChar(currentChunk);

            if (newChar != '') { // the last chunk of the source has no follower
                text += newChar;
            } else {
                text += this._getRandomChunk();
            }
        }

        return text;

    }

}

It would then be used like so:
var text = "Call me Ishmael.  Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world.";
var markov = new Markov(text, 3);
console.log(markov.generateText(100));

// results:
// " no money interest me Ishmael.  Some or no money in my particular to in my purse, and sail about a l"
// "y in my purse, I the would sail about a little on shore, and see thought I would sail about a little"
// "  Some Ishmael.  Some Ishmael.  Some Ishmael.  Some Ishmael.  Some years ago—never mind see the worl"

Answer: I think answering my own question is justified here. (?)
While I have no design pattern advice for myself, I've just found a way to greatly improve the performance of setupFrequencies. The code as posted in my question iterates over the entire source text every time a new chunk is found, but it just occurred to me that such an inner loop isn't necessary at all.
Eliminating it not only shortens the code, but also reduces the runtime complexity from O(n²) to O(n) - a huge improvement, especially for longer source texts.
_setupFrequencies: function() {

    this.frequencies = {};

    // for each substring of length <order>,
    // create an array of characters that can follow it
    for (var i = 0; i < this.sourceText.length - (this.order - 1); i++) {
        var chunk = this.sourceText.substr(i, this.order);
        if (!this.frequencies.hasOwnProperty(chunk)) {
            this.frequencies[chunk] = [];
        }
        var follower = this.sourceText.substr(i + this.order, 1);
        this.frequencies[chunk].push(follower);
    }

},

Markov text generator


How can I disable the global menu in Firefox?

Question: I can't open bookmarks in new tabs from it (this seems to be a bug in Unity), so I disabled the add-on for it. But the latest update for Firefox (22.0) removed that add-on and re-enabled the global menu. How can I disable it again?
Answer: I just updated to Firefox 22.0 under Ubuntu 12.04 / Unity. The add-on is indeed gone.
There is a config setting that appears to disable the (tremendously annoying) global menus.
Open firefox.
Enter about:config in the address bar (like you're trying to go to that URL as a website).
Use the Search field to find the use_unity_menubar setting.
Right-click on it. Choose TOGGLE on the popup dialog. That should turn off the global menus and restore the top-of-window menus. (The full name of the preference is ui.use_unity_menubar.)
Comment: My pleasure. Sure wish they would stop screwing around and use the 'standard' mechanism. I find the global menus very annoying and a hindrance to my productivity.
Comment: Since I installed 12.04 two months ago this >exact< problem has been bugging me....I googled and googled and read post after post...until I tried the above solution. AAAhhhh...what a relief!!! Man, many thanks to both the asker and @Art Swri


Are the NBA teams globally better in East or West conference?

Question: I am new to NBA and I would like to know if teams in Western Conference are globally better than those in Eastern Conference or if it is the opposite ?
Comment: I've removed the second question here: please ask one question per post.
Answer: There are a couple ways to look at this, but since 1998, the Western Conference seems to be overall better than the Eastern. If you look at this site, you can see that in the 18 years from 1998-99 to 2015-16, the Western Conference has collectively had a better record vs the other conference 16 times; that means the East only bested the West twice in that span. Even in those two years, the East margin of victory was very small.
If we look at which conference won championships, the margin is a little closer but the West still comes out on top. From 1998-99 to 2016-17, the West has won 12 titles, and the East has won 7. This is much closer to 50-50 like I said earlier, showing that the disparity between the best teams in each conference is less. However, the West still seems to be the better conference.
Comment: To add to this, competition historically has always been greater in the Western Conference during the playoffs.  The East usually has 2-3 teams which you know are going to be in the East finals.  The West usually offers up a greater number of contenders every year.


Blender 2.8 Object and Background plane disappear

Question: Using Blender 2.8 with the Eevee render engine.  From the camera perspective with Lock Camera to View, when I zoom out the objects start to disappear.  Here are 3 images of the project, the further I zoom out the more the objects are cut off.
I did not changed the camera perspective only using the middle mouse button to zoom (scroll) out.  What needs to be changed to eliminate this problem?
Answer: That is your camera clipping, it will only show object in a certain distance of the camera. You need to make it where it will show objects further away. in your screen shot, in the menu to the right you will see the clipping settings. Set the clipping end at 1500 or so and you should see everything.
Okay try going to object mode and opening the N bar on the right. fin the view tab and click it. That will open the scene clipping. you can try upping the end clipping on it, and see if that helps.
Select the camera object, then to the right where the where all the the icons are select the green camera and you will find the camera clipping. Up the end value there.
Comment: Jarrett, I tried your fix it did not work.  I still cannot scroll out no matter how large the setting is on clip end
Comment: I added something to try.
Comment: Thanks that was actually the place I was adjusting the first time. I must have missed something in the main property panel
Comment: Okay I found where to edit the camera clipping. I added it above.
Comment: Yep, that was the exact spot.  Missed that the first time.
Comment: My fault, I should have told you better where. I hope it fixed the problem.


Farseer engine built for MonoTouch?

Question: Does anyone know where I can find a version of the farseer physics engine compiled for MonoTouch, or do most people just download a windows version from codeplex and attempt to build their own solution?
Comment: Did you ever figure this out? I'm also trying to include Farseer in a MonoTouch project, and I'm having loads of problems...
Answer: Farseer is based on Box2D.XNA, and looking in their repository, I'm seeing what looks like managed C++ (reference). I'm not familiar enough with managed C++ do know if it can be used to generate Mono-compatible .NET DLLs.
However, it looks like there's a native C# port of Box2D here. Just run it through MoMA and then try compiling it in MonoDevelop. I dunno if there's any compatibility scanner for MonoTouch, but last I read the main things you need to avoid are Reflection.Emit and unsafe code, and it's not likely those are used in this port of Box2D.

Farseer engine built for MonoTouch?


Hindi Keyboard layout is missing combined characters

Question: I am trying to set up a school computer lab with Hindi typing capabilities and am having trouble getting Ubuntu 10.04 to type all of the Hindi combined characters.  I'm using "Bolnagri" since it is very intuitive for people who know the English keyboard.  There is a layout document in the link
which shows many combined characters but there are a few characters like ऋ which do not have any Third Level Key code mentioned.
 I found ॠ with Character map at U0960 in the Hindi font but when I type in ऋ I get ॠ.
Another problem is that श्र (zxr) does not work.  It does not combine into the character shown but is a half श + र.
 I must be doing something wrong so am hoping someone can help.
Answer: I'm not sure if this will help, but as far as I know Ubuntu's handling of Devanagari script (and a few others) is not fully implemented yet...
Have a look at this Askubuntu question... Devanagari script in the Terminal
I noticed some problems in the Gnome Terminal, but things work fine in KDE's Konsole Terminal