Which big computer companies support the Ubuntu project financially?

Question: When looking for hardware, I often try to find out if the manufacturer employs open source developers and things like that. I know Canonical has relations with a couple of big computer companies, but who, apart from Canonical, is supporting the community effort directly? Is there a list?
Comment: Intel supplies open-source Linux drivers. ATI starting to do the the same with Radeon Gallium3D-based drivers, recently hired developers for the sole purpose of developing the driver.
Answer: I know of employees of the following companies who are tasked with improvements to Ubuntu as a primary job responsibility, including maintenance or delivery of software in the archive, bugfixing, and other development work performed on and in Ubuntu.  This list is necessarily incomplete, as it is exceedingly likely that many folk have not decided to disclose their employment and/or job responsibilities to me (or I forgot).  Some of these may not meet your definition of "big", others are indisputably so.

ARM
Canonical
Cisco
Dell
Freescale
Google
IBM
Linux System Dynamics
Ksplice
KTS
Nokia
NTT
Oracle
Rackspace
Revolution Linux
Samsung
ST Ericsson
10gen
Texas Instruments
Tiger Security

I am also aware of employees of many other firms who provide publicity or support services (magazine publishers, book publishers, event organisers, on- or off-site systems support services, deployment services, etc.) for Ubuntu or Ubuntu Derivatives (including the remixes typically deployed for pre-installed systems) who consider themselves to be part of the Ubuntu community, although their output is often not in the form of patches or uploads directly to Ubuntu.
Further, there are a number of companies that look favorably on contributions by their employees into Ubuntu, and whose staff hold significant positions within the Ubuntu community, but who have not explicitly tasked their staff with improvements to Ubuntu as a primary responsibility.
Beyond that, there exists a significant number of individual or small consultancies that provide services which sometimes include delivery or improvement of software in Ubuntu or delivery of Ubuntu into some environment, for which necessary modifications are applied directly to Ubuntu.  While these are surely not "big", they not infrequently perform services for clients that meet most definitions of "big".  As these relationships are typically confidential between the parties concerned, they may necessarily not be listed here.
Additionally, there is the list of companies that have commercial relationships with all those above, with the intent of delivering Ubuntu to users or supporting Ubuntu.  While these companies may not be directly funding Ubuntu Development, without their assistance, few of the aforementioned firms would be as interested in funding that development.
Comment: Welcome to Ask Ubuntu Emmet. What a brilliant answer, thank you very much indeed. And a +200 for your effort.
Answer: Firstly, please correct me if I'm wrong, and understand that English is not my first language.
Firstly, can we define what "big computer companies" are? Are we talking about the "big-ness" like Canonical (whose name is most probably unfamiliar to most people) or big like Intel, AMD/ATI, nVidia (whose name is synonymous to processors and graphic cards respectively).
From what I know, the Ubuntu Project is solely funded by one "big computer company": Canonical. I'm sure there are many other smaller companies and instances funding the project, but most of those are typically donations.
I've asked this question many times -- often rephrased to, "how do open source companies make profit?" -- and a majority of people will almost always answer through sponsorships, adverts, merchandise and such.
Open source-promoting companies, like IBM, Intel, Novell, Red Hat, etc., don't particularly focus their funding onto one opensource project, unless its their own, like Intel's MeeGo for example.
Please feel free to criticize my answer; I know there is a strong possibility of something being incorrect there.
Cheers, :)
Comment: An excellent answer indeed. I would love to have a *source* or a *reference* for "the Ubuntu Project is solely funded by one [..] company: Canonical". If true, that'd answer the question perfectly.
Answer: The twice-yearly Ubuntu Developer Summit (UDS) or yearly Debconf are a location where it is easy to see direct funding for Ubuntu: companies sending their own employees (or for individuals, sending themselves).  When you see people from Intel, HP, Dell, … at UDS (or another Linux conference) it's probably a fairly good confirmation that their attendance is being funded to some degree directly by their employer:

launchpad.net/sprints/uds-m/+attendees-csv
launchpad.net/sprints/uds-n/+attendees-csv
launchpad.net/sprints/uds-o/+attendees-csv

Google themselves have hosted UDS twice at their Mountain View campus (2006, 2008).  In addition, if you're eating a meal in the evening at UDS and it says "sponsored by Amazon AWS" then it's probably a further indication of contribution (but for practical reasons, the sponsorship likely went via the the conference/summit organisers).

Companies and OEMs generally contract with Canonical in exchange for something; then Canonical contracts with those people that make Ubuntu happen (hotels, sign printing companies, office cleaners, travel agents, internet service providers, couriers).
One of the hardest problems in Free Software is transferring money, or rather knowing whom to transfer it to.  It is very rare that money is "just given" with no strings;  money is transferred from one person or company to another with some direction over how the funder wishes that it should be used—making a fair exchange. For example: "please make this feature work", or "please design this poster for Ubuntu in my home city" or just by the remit of the organisation, eg. Free Software Foundation Europe.
Charities, Foundations and Company structures are one way in which a group of people with a common interest set themselves to make money transfers and logistics easier.  Companies normally use legal contracts that make that exchange of goods/services explicit.
In all cases, it's necessary to establish some link between the sender and receiver; it could be as simple as having gone to the same school, or having a common interest.  Often it is symbiotic: organisation (a) wants their hardware to work with drivers, and (b) has driver writers waiting for work.  What follows is normally a contract, and at the end of it, an exchange of money.

In the case of Ubuntu, it's easier for a company to approach Canonical Ltd because Canonical have the best contacts and know-how when it comes to the Ubuntu project.
Comment: A very nice summary, great answer Paul.
Answer:
There is a list of OEMs who submit
their hardware for certification
here.
Individual components are also
certified here.
There is also a list of Ubuntu
"partners" here. These are
software or service providers who
specifically support Ubuntu. It's a
big list ;-)
Ubuntu certification is very
thorough, as detailed on the official
page here and Dell's blog
here.

While these may not be purely financial donations to the Ubuntu project, hardware and software certification is far better .. it's really best sort of practical support for Ubuntu you can give IMHO. Who doesn't want to see these logos on the latest cool hardware or software?
Comment: A nice answer, but this really isn't what I'm looking for. This question is about *paying  developers*, not certification.
Comment: Paying Canonical for certification allows Canonical to pay developers.. I don't think other companies would ever pay developers to work on Ubuntu directly because in the end Mark S retains SABDFL rights over the entire Ubuntu project. http://www.ubuntu.com/project/about-ubuntu/governance
Comment: well, exactly the same thing is true for the Linux kernel, and a [whole slew of companies](http://i.stack.imgur.com/Nqns2.png) employ developers to work on that.
Comment: Totally different situation. The kernel is community-owned and community-run. There is no "Kernel Company". Ubuntu is ultimately controlled by one company/person.
Comment: Not quite :) Everything that goes into the Kernel is signed off on by Linus Torvalds. But to re-iterate: I'm looking for _a list of companies that support "the Ubuntu project"._ Canonical is one of those companies. I'm not looking for people doing business with Canonical (that's why I said: "directly").
Answer: Linagora is one of those companies.
They count 160 employees and have offices in France, Belgium and the United States.

Their first way of supporting Ubuntu is by writing and publishing documents, scripts and more. See their community website for more info (in French).
Their second way of supporting is by contributing to FLOSS code including Ubuntu. All their commitments are even listed on a dedicated site (in English and in French), sorted by project.
Answer: A short version of Paul's answer is simply "All of Canonical's customers".
Answer: IBM does: http://www-03.ibm.com/linux/community.html
Comment: IBM don't say anything about Ubuntu or Canonical... just Linux in general
Comment: Well, if you think about it, IBM supports Ubuntu indirectly at least by helping with the development of the Linux kernel itself, which Ubuntu is based on. The same page also lists some other open-source software they support which Ubuntu uses, such as Mozilla Firefox. But no, they don't appear to support Ubuntu itself directly.
Comment: Yeah, they don't seem to support Ubuntu at all.


Scrolling causes page scroll AND map zoom in IE9 (Google maps v2)

Question: In Internet Explorer 9, using the Google Maps API v2 (which is deprecated), zooming with the scroll wheel also causes the page to scroll. Does anyone know of a workaround for this issue? (Upgrading our codebase to v3 is not yet possible, unfortunately.) This behavior does not occur in earlier versions of Internet Explorer.
Here is a test page.
Answer: Many people seem to have the same problem around the net but I found no solutions posted. So here is mine:
Since non-scrollable components do not raise the scroll event and that event is non-cancelable on the document object, the standard DOM could not be used. Fortunately, there is a little jQuery plugin called "mousewheel", which adds "mousewheel" and "unmousewheel" event binding functions to jQuery. The function called by "mousewheel" event can return false to cancel it and the document then does not receive it. So I test for IE9 or bigger and download this little plugin if necessary, applying it to the div holding the map.
Comment: Close enough. Here's the mootools code to do this (no plugin required): `$('map').addEvent('mousewheel', function(event){event.preventDefault();});`
Answer: Please try
$('#map').mouseover( function(){
    document.body.style.overflow = 'hidden';
    $('#wrap').css('margin-right','17px');
    console.log('mouse -> map , ' , document.body.scroll, ' / ' , document.body.style.overflow );
} );

$('#map').mouseout( function(){
    document.body.style.overflow = 'auto';
    $('#wrap').css('margin-right','0px');
    console.log('mouse map -> , ' ,  document.body.scroll, ' / ' , document.body.style.overflow);
} );

This code hide scrollbars. I found that it is only one way to disable scrolling in IE.
 document.body.scroll = "no" don't work. ( IE9 )
The #map - is div with google map,
the #wraper - is div with all page.
$('#wrap').css('margin-right','17px'); // just to keep page width when left scroll bar hided/showed
Answer: To fix this problem with PrototypeJS 1.7 (like Marek and theazureshadow suggest) you can use on IE9:
$(gMapDiv).observe('mousewheel', function(event){
    event.stop();
});

Answer: I had the same problem, and solve it this way:
When cursor is over map element and scrollwheel moves, whole-page-scrolling will be disabled. Only map will zoom in or out
$('#map').live("mouseover",function() {
  $('#map').mousewheel(function(event) {
  stopWheel(event);

  });
})

function stopWheel(e){
if(!e){ /* IE7, IE8, Chrome, Safari */
    e = window.event;
}
if(e.preventDefault) { /* Chrome, Safari, Firefox */
    e.preventDefault();
}
e.returnValue = false; /* IE7, IE8 */
}

Comment: This is an inelegant rehash of the code in my comment to the chosen answer, which may be easily converted to jQuery.


Unable to download media Whatsapp while using Wifi with proxy

Question: I'm using a wifi network that contains a proxy. I am using proxydroid to run the proxy for all applications on my Android phone. But sometimes I am not able to download media on Whatsapp.
How can I use a proxy for Whatsapp and other applications with no restriction?
Answer: As mentioned in the WhatsApp FAQ:

WhatsApp is not designed to be used with proxy services, so we cannot provide support for proxy configurations.

There are many other apps that have this restriction and hence many other applications may have issues functioning properly with proxy servers.
Answer: A phone wide VPN would be a good thing to try. Tunnelbear is free, but there are other services you can pay for. Essentially, you need to use a system VPN or something similar, rather than an app, to proxy all traffic through another source.
Answer: In that case that proxy is blocking WhatsApp. I can confirm because I am in the same situation, while being on corporate network WhatsApp can't even recieve or send messages.
This is not an issue in WhatsApp or a general bug, its just blocked by your network administrator. You can try with VPN, but depending how that VPN works it might also be blocked by the network (ports that VPN uses for connection).


Is .NET CLI only for .NET Core?

Question: Do I use the .NET CLI if I want to create an ASP.NET Core 1.0 app that uses the .NET Framework? Is .NET CLI only for the new .NET Core library or both Core and .NET 4.6?
Comment: Are you referring to the [Common Language Infrastructure](https://en.wikipedia.org/wiki/Common_Language_Infrastructure) or [Command Line Interface](http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx)? (They *had* to know it was going to cause confusion using CLI when CLI was already a well-establshed abbreviation.)
Comment: Command Line Interface
Comment: Thanks for clarifying - I thought that *maybe* you wanted to produce a CLI-compliant application/library.
Answer: You can use dotnet cli for full framework apps and libraries as well. You just need to use the appropriate framework tag - for example "net46" to target .NET 4.6. You can target multiple frameworks, too:
For example, from my Noda Time library:
"frameworks": {
  "net45": {
    "frameworkAssemblies": {
      "System.Xml": "",
      "System.Numerics": ""
    }
  },
  "netstandard1.1": {
    "buildOptions": {
      "define": [ "PCL" ]
    },
    "dependencies": {
      "System.Diagnostics.Debug": "4.0.11",
      "System.Globalization": "4.0.11",
      "System.Linq": "4.1.0",
      "System.Resources.ResourceManager": "4.0.1",
      "System.Runtime.Extensions": "4.1.0",
      "System.Runtime.Numerics": "4.0.1",
      "System.Runtime.Serialization.Xml": "4.1.1",
      "System.Threading": "4.0.11",
      "System.Xml.XmlSerializer": "4.0.11"
    }
  }
}

The PCL preprocessor symbol will be renamed to "DOTNET_CORE" or similar at some point - it's only there because I have a bunch of code that uses it for conditional compilation back when I used to target portable class libraries.
You can still also target portable class libraries, by the way... so a single package can target many different versions.
Answer:
Do I use the CLI if I want to create an ASP.NET Core 1.0 app that uses the .NET Framework?

The .NET CLI is for either, the distinction is actually made in the project.json file. For example you can use the following command to compile/build the ASP.NET Core application while the application is actually targeting the full-framework:
dotnet build
Here is what an example project.json would look like targeting .NET 4.6.
{
  "frameworks": {
    "net46": { }
  }
}

For more details I always encourage people to refer to the documentation found here. Likewise, since this is open-source (which is amazing) you can look at the source to understand how it is that this is intended to be used.
Answer: CLI is just tooling. What your application will use to run is not coupled to tooling (i.e. as long as the tooling is able to create the correct application for your target framework it does not matter how tooling runs). Rather, in your project.json file you specify the target framework in form of target framwork moniker (e.g. net451 for .NET Framework 4.5.1 or netcoreapp1.0 for .NET Core apps etc.)
Comment: Do I need to get the CLI separately or will upgrading to Visual Studio 2015 Update 3 automatically install CLI for me?
Comment: You need to install web tooling on top of Update3. You can get VS tooling from https://www.microsoft.com/net/download (NET Core Tooling Preview 2 for Visual Studio 2015)
Comment: @Sam, this is part of the instructions found here... https://www.microsoft.com/net/core#windows
Comment: @DavidPine I was just there and I still have a question. Does installing the .NET Core 1.0 for Visual Studio install everything I need i.e. .NET Core framework, CLI and .NET Core support in Visual Studio?
Comment: @Sam you need the **.NET Core for Visual Studio** downloadable [here](https://go.microsoft.com/fwlink/?LinkId=817245). First install VS 2015 Update 3, then the CLI as the steps indicate.

Is .NET CLI only for .NET Core?


Internet access via server

Question: We have proxy-server and I run Linux Mint 15 Mate. I've set up network connection and Firefox prompts for login/pass and then connects to Internet. When trying to look for updates/new software, system does not prompt for login/pass and cannot connect to Internet. What should be done to have system accessing Internet and getting updates/installing new software?
Answer: # man apt.conf
...
....
   http
       http::Proxy sets the default proxy to use for HTTP URIs
....

You need to edit config file: /etc/apt/apt.conf to configure APT package handling utility.
Additionally read about ProxyChains - redirect connections through proxy servers.
Comment: ProxyChains is not exactly what I need. As for editing apt.conf, it did not help. Still cannot connect to repositories to update system or anything like this. It is interesting that Firefox has access through login/pass prompt, whereas Chromium doesn't. I tried to set up it using command `chromium-browser --proxy-server=server:port`, but it still does not connect.
Answer: Go to:
Package Manager -> Settings -> Network
Re-Enter your Proxy IP/Port and klick on Authentication to set login/pass
How to find Package Manager this could help: Mint: How to Open the Package Manager
Comment: Clicking on Authentication opens menu login/pass, but these windows remain inactive and I cannot fill them out. What's wrong?

Internet access via server


Sorting order of featured questions

Question: How are featured questions sorted on Stack Overflow? And can I sort them using different criteria, such as by posting date?
Comment: See also: [How does Stack Overflow determine for how long to keep a question in the main page?](http://meta.stackexchange.com/questions/106979/how-does-stack-overflow-determine-for-how-long-to-keep-a-question-in-the-main-pa/106981#106981)
Answer: Since September 2011, questions on the featured tab are no longer only sorted by the expiry date, but the bounty amount has some effect too. From the blog, Bounty Reasons and Post Notices:

The featured tab on the homepage gives priority to larger bounties. The last 24 hours of the bounty period are still ordered purely by time of bounty end, but up until then the larger the bounty, the higher your question will appear on the featured tab.

There are actually two featured lists: one when viewing Top Questions, and another when viewing All Questions. Bounties with a (very?) negative vote count, are not shown on the first (the list will even shrink if there are few other active bounties), but will still show on the latter.
Comment: What about sorting by different criteria? Is there a good reason why that feature doesn't exist?

Sorting order of featured questions


Finding constant term in product expression

Question: I've an expression which is product of 20 or more factors of polynomial, something like $$\left(1-\frac{pq}{z^i}\right)(1+pq z^j+z^k)$$ and I want to find coefficient of $z^0$. SeriesCoefficient works well for less factors but as the number of factors increases it takes too much time. I don't care about the whole expression of constant term which is a function of $p,q$; just the low power $p,q$ terms are what I want to extract. Is there any method to do this manipulation?
Comment: Welcome to the Mathematica Stack Exchange. Please load Mathematica code that can be copied, pasted and executed locally in our own notebook sessions.  Copy directly from your input cell, click the `Edit` button under your post and format as code using the `{  }` icon in the Edit window. Thanks.
Answer: You may use "Expand" to get the expanded form of your polynomial. And then "Cases" can pick the constant terms. here is an example. First we create some large polynomial:
poly = Product[
   1 - p  z^RandomInteger[{-3, 3}] + z^RandomInteger[{-3, 3}], {i,
    20}];

Then we expand this polynomial and pick the constant terms:
Cases[poly // Expand, x_ /; FreeQ[x, z]]

{0.0121714, {78960, -808576 p, 3839652 p^2, -11369974 p^3,
  23661281 p^4, -36890023 p^5, 44821328 p^6, -43457855 p^7,
  34132492 p^8, -21930300 p^9, 11564989 p^10, -4993479 p^11,
  1751413 p^12, -491642 p^13, 108480 p^14, -18203 p^15,
  2090 p^16, -128 p^17, p^18}}

To get an idea how fast this is:
Cases[poly // Expand, x_ /; FreeQ[x, z]]; // AbsoluteTiming

{0.0120267, Null}

Comment: Thanks for the answer. This worked for me totally.


Can I apply for a B1 B2 visa while I'm in the US?

Question: I am presently employed by staffing agency in the Philippines as a US-based coordinator to their client in the US. I am the company representative of our agency in the Philippines. During my stay in US, our client is responsible for my stay. I have a valid B1-B2 visa but it is soon to expire on July 2017. Can I apply for B1-B2 visa while I am in the US?
Comment: How long are you expecting your stay in the US to be?
Comment: Also, when do you plan to arrive in the US?
Answer: Short answer: You cannot apply for any US visa while being in the US.
But note that the US is special in the sense that they only require you to have a valid visa to enter the country. As always, the visa of course has to be suitable for the purpose of the visit.


Converting 10 bit (2:8) value to 14 bit (6:8) result

Question: My C skills are seriously lacking, and I haven't come up w/ a good way to do this on 8 bit architecture.  I've tried shifting by 4, but then I lose digits, I know I can just multiply my 10bit result by 16, but then how do I get the unsigned int into 2- 8 bit registers??
Comment: I am not understanding why you can not just keep the 8 lower as the 8 lower and the 2 upper stored to the 6 upper, with 0s for the rest. It seems like you are expecting some mathematical functional that you are not explaining.
Comment: Perhaps you could draw a picture of what you have and what you want. A little bit of context would help, too. Where does the 10-bit data come from, and how do you expect to use the 14-bit value?
Answer: Assuming that you do not need to have the result sign extended AND that your goal is simply to normalize the 10-bit input to a 14-bit result then here is code that should do what you require.
// these two byte variables have the 2:8 input values
unsigned char val10_2;
unsigned char val10_8;

// this variable will be used as a working unsigned integer (guessing as 16-bit)
unsigned int temp16;

// these two byte variables will have the 6:8 result values
unsigned char reg14_6;
unsigned char reg14_8;

// combine inputs into an unsigned integer
temp16 = ((val10_2 & 0x03) << 8) | val10_8;

// normalize 10-bit value to 14-bit
temp16 = temp16 << 4;

// extract the final result out to the two 8-bit register values
reg14_6 = (temp16 >> 8) & 0xFF;
reg14_8 = temp16 & 0xFF;

I've included some extra masking of the values in the last two assignments that that may not be strictly necessary and any decent optimizing compiler will eliminate extra steps for you.
Comment: Actually, these variables are likely to be hardware registers, such as an input from an ADC. In that case they are declared as volatile, and then the compiler will not be able to optimize away the possibly superfluous extra masking.
Comment: this seems unlikely to work to me... in particular, I think ((val10_2 & 0x03) << 8) will always result in 0 because val10_2 is a char - better cast it to an int (or better yet use uint16_t from )... so do `(((uint16_t) (val10_2 & 0x03)) << 8) | val10_8`
Answer: Let's say int is 16 bits and char is 8 bits.
You can split the 16-bit value into its two component bytes with code like this:
unsigned int val;
unsigned char lsb, msb;

lsb = val & 0x00FF;
msb = (val >> 8) & 0x00FF;

I've just dashed this off off the top of my head. You can probably reduce this code even further with careful study of what C guarantees about type conversions and the specific quirks of your compiler. To be honest, I haven't gone and rechecked the C specs, but the two masks (x & 0x00FF) might not even be required -- but even so, I might keep them in the code to make the intent clear.


Forwarding in pipelined processors can increase throughput by decreasing amount of stalls, but can it in some cases impair performance?

Question: Pipelined processors suffer from stalls due to different kind of hazards and one way of dealing with it is to implement forwarding of different types. For example ALU-ALU forwarding or full forwarding (MEM stage -> EX stage). A result of implementing forwarding in a pipelined processor is that we get an increased throughput as we have reduced the amount of stalls. According to my teacher forwarding can potentially impair performance too but he didn't go into much detail at all and as such I am left curious about what exactly he meant. I have tried to find information about it but to no avail. One thought I have is that it might impair performance in the sense that it makes the processor slower as extra logic is added to support the forwarding step. Can forwarding in pipelined processors impair performance in any way, if so how?
Comment: Hypothetically, even pipelining would impair performance of a cpu in the case you are executing a single instruction.
Comment: One scenario could be executing a set of instructions which do not benefit from operand forwarding.
Answer: Modern cpus have deep pipelines with 20 stages or more. Attempting
full forwarding would require far too many bypasses to be
practical. For example, if the depth is 20 the first stage would be
connected to 19 bypasses, the second 18 bypasses, the third 17
bypasses, and so on. This would consume way too much silicon for
wires, muxes, and control signals, so bypasses are only added for the
commonly used cases. And even with all these bypasses, the cpu would
still stall waiting for memory and in other situations.
Answer: Take an out-of-order processor. At any cycle, there may be multiple instructions ready for execution. The choice which to execute next can affect the total execution time in unpredictable (for the processor) ways.
Register forwarding can lead to a different instruction being executed next, with a different total execution time, which may be longer. But you save one cycle, and you will save more cycles by more forwarding, so losing out is unlikely. Not impossible but unlikely.


What is the thickness of an A320 radome?

Question: What is the thickness of an A320 radome? This is needed to run some simulations.
Comment: Nomex core material comes in thicknesses from 1/8" to 1".  A radome is probably around 1/2" or maybe 3/4" but you'd need an engineering drawing. Suggest you write to Airbus customer support.
Answer: It varies in different part numbers. Yes, Airbus offers a few designs to use. I'm not a structure expert, but I'm pretty sure the main difference is on their material, like Kevlar or Quartz, and how these material distribute (be reminded it's a composite structure).
From a maintenance manual of a few A320 radome designs, the overall thickness on the front face (yes, different area have different thickness) varies from around 7.5 mm to around 9 mm.
Hopefully that helps. And sorry that the exact could not be provided due to the manual is confidential and proprietary.
I'm not sure what kind of simulation you doing, FEA? CFD? Or just flight simulation? If you really want some exact numbers, try ask an airline or Airbus formally for their support.


Finding the polynomial for LFSR given it's length and output

Question: Let's say that i know that the output of an LFSR with length 4 is 1,1,1,0,0,1,1. Constructing the 3 equations modulo 2:
$$s_{4} = \sum\limits_{i=1}^{4}c_{i}s_{4-i} \Leftrightarrow c_{2}+c_{3}+c_{4}=0$$
$$s_{5} = \sum\limits_{i=1}^{4}c_{i}s_{5-i} \Leftrightarrow c_{3}+c_{4}=1$$
$$s_{6} = \sum\limits_{i=1}^{4}c_{i}s_{6-i} \Leftrightarrow c_{1}+c_{4}=1$$
Therefore, $c_{2}=1, c_{1}=c_{3}$ and $c_{4}\neq c_{1}$.
So i came up with two polynomials for it: $C(D) = 1+x^{2}+x^{4}$ or $C(D)=1+x+x^{2}+x^{3}$. I used the berlekamp-massey algorithm and the minimal polynomial that came up for that initial sequence was the $C(D)=1+x^{2}+x^{4}$. I am confused because the polynomial $C(D)=1+x+x^{2}+x^{3}$ outputs the sequence too and it has lower degree than the one that B-M algorithm finds as minimal. Why is that? What condition am i missing?
Comment: Can you expand on why your think that polynomial $C(D)=1+x+x^2+x^3$ outputs the sequence $1,1,1,0,0,1,1$? I suspect that statement is false.
Comment: $$s_{4} = c_{1} \cdot s_{3}+c_{2} \cdot s_{2}+c_{3} \cdot s_{1}+c_{4} \cdot s_{0}=1 \cdot 0+1 \cdot 1 + 1 \cdot 1 + 0 \cdot 1 \equiv 0  \pmod2\\s_{5} = c_{1} \cdot s_{4}+c_{2} \cdot s_{3}+c_{3} \cdot s_{2}+c_{4} \cdot s_{1}=1 \cdot 0+1 \cdot 0 + 1 \cdot 1 + 0 \cdot 1 \equiv 1  \pmod2\\s_{6} = c_{1} \cdot s_{5}+c_{2} \cdot s_{4}+c_{3} \cdot s_{3}+c_{4} \cdot s_{2}=1 \cdot 1+1 \cdot 0 + 1 \cdot 0 + 0 \cdot 1 \equiv 1  \pmod2$$
Answer: To ensure uniqueness you need to have more samples. Namely if the sequence segment is less than twice the LFSR length, the LFSR is not unique.
The BMA runs to generate the shortest unique LFSR given the input. Since you have 7 bits and $2\times 3 < 7< 2\times 4$ length 3 is the longest unique generator for this segment.
Comment: Shouldn't the bma return the third degree polynomial then ?
Comment: @Prothean: yes it should, _if_ there was a third degree polynomial that generates the sequence. But if there's one, it's not $C(D)=1+x+x^2+x^3$ by any convention that I have seen used.
Answer: The question is correct when it remarks that the Berlekamp-Massey algorithm always outputs a minimal-degree polynomial for a given input sequence, thus something is at odds.
Problem is that the question's equations are for a degree-4 polynomial, therefore with $c_4=1$ (by the conventions generally used by courses that cover the Berlekamp-Massey algorithm). The solution $C(D)=1+x+x^2+x^3$ matches all the equations, but does so with $c_4=0$, thus is not valid (by said conventions). If we add $c_4=1$ in the constraints and solve the system of equations, then we get $1+x^2+x^4$ as in Berlekamp-Massey.
Another way to look at it is that $C(D)=1+x+x^2+x^3$ has degree 3, thus (at least stated without a LFSR size mentionned) should be able to predict the fourth output $s_3$ from the first three ones $s_0$ $s_1$ $s_2$ per the equation $s_3=\displaystyle\sum_{i=1}^3c_i\,s_{3-i}$, but is not.
Yet another way is seeing that with the question's equations and $c_4=0$, bit $s_0$ is ignored, thus has no effect on future outputs, thus is wasting an LFSR stage.

From a "get the maximum points" perspective:

If the question does not state that the LFSR size is 4 (including if it states that the LFSR size is at most 4 or at least 4) and does not ask for the LFSR size, then $1+x^2+x^4$ is correct, and $1+x+x^2+x^3$ without mention of an LFSR size is not, even if the wording of the question allows for multiple polynomials.
If the question asks for a single polynomial and states that the LFSR size is 4, then $1+x^2+x^4$ is the best bet, because it follows the most usual convention that the degree of the polynomial is the LFSR size.
If the question explicitly allows multiple polynomials, and states that the LFSR size is 4, then $1+x^2+x^4$ must be given, and $1+x+x^2+x^3$ can arguably be.
Comment: First of all thank you for the answer, i don't know a lot about cryptography so forgive my ignorance. If we know that lfs'r length is 4 do we instantly get that $c_{4} = 1$ ? I mean the question gives me the first 7 bits and the length (4), so there are 2 polynomials that can be the connection polynomials for that lfsr ?
Comment: @Prothean: yes with the convention used in the context of the Berlekamp-Massey algorithm, or any convention where the degree of the polynomial is assumed to tell (or otherwise always match) the LFSR's length. But conventions vary.


Just Cause 2 mercenary mode increased difficulty when completing settlements

Question: I have finished the story mode of Just Cause 2. Now I'm plowing through the settlements (aiming for a level of completion). However, the speed and ferocity in which the Panauan army defends these settlements seems to have increased dramatically. Can anyone explain why...?
Comment: self-fulfilling prophecy?
Answer: The game is not, in specific, harder in Mercenary mode.  However, two things may be causing your apparent increase in difficulty:

As you generate more chaos overall in the process of unlocking the story missions, you increase your maximum Heat level.  This can lead to a much more rapid and strong response from the Panuan military.
When you venture into new areas, you may be in zones where you have not damaged the Panuan infrastructure as much.  Taking out enemy communications arrays, air fields, and military leaders can make a noticeable difference in the enemy's response time.
Comment: You're absolutely spot on in Point #2. In a zone where I've disrupted most of the communications and infrastructure, I get far less of a reaction when I blow up a communications outpost. I've noticed that if I venture into an area that I haven't cleared the infrastructure from (or started to) the reaction from the military is much more severe (especially the number of choppers sent after me).
Comment: Point two is exactly the point to make. Great answer, Xemu.
Answer: Some people say that Mercenary Mode has it's own difficulty mode, harder than story mode.
Personally I have finished story mode on the hardest difficulty and did't notice much of increase in Mercenary Mode, but I did't play much after finishing the game.


Normal Bake Artifacts

Question: As the title states I get weird artifacts. The artifacts are on the low poly model after the high poly bake onto the low poly model. The object (horns) have holes in them that will be covered up by a second set of horns (as you can see in the both horns picture). The UV map appears to be fine (blue with little to no green areas, when you zoom in on the map) to my knowledge, but is very dense in some areas, don't think that's the issue but maybe it is? The normal bake map doesn't look the prettiest but I don't understand that to be the issue? I also used a cage for the bake which I believe to be good? Please help me :( and I appreciate all the help :D
BAKED MODEL WITH ARTIFACTS

UV MAP

NORMAL BAKE MAP

CAGE

BOTH HORNS
Answer: I was able to fix the issue by changing the bake to non-color :)

Normal Bake Artifacts


How to render Terminal Output in LaTeX

Question: Is there a package which allows me to render (n)curses based output (VT100, ANSI ...) directly in LaTeX (including colors if possible)? I'm currently making screenshots and include the PNGs via graphicx. I'm just wondering whether it's possible to achieve a higher quality.
Answer: Jan's solution is the most direct, but, speaking from experience, writing parsers for teletype codes is a real pain.  I wonder if it makes sense to reinvent such a tricky wheel, rather than use some external program to do the parsing instead.
Instead, I suggest using an external curses to HTML converter, and use one of the existing HTML to Latex interpreters/translaters to generate the code for the document.
I can't say which tools are right for the job, but maybe some of my thoughts are worth typing out:

David Mertz has written a series on curses programming in Python, of which #6: Curses programming in Python: Tips for Beginners introduces curses_txt2html.py — note that code has dependencies on other code from the series;
Finding the right converter from HTML to Latex is made more difficult by the fact that (i) there are so many, and (ii) most care about logical structure, rather than exactly representing coloured, preformatted monospaced text.
The Texinfo people know about curses, since, e.g., the pinfo Texinfo reader is ncurses based, and Texinfo is a Tex format that closely resembles, and is easily converted to Latex.  I don't know if they have done anything like this, but if they have, they are likely to have done a good job.
Answer: I don't know about a package.  You would have to make TeX interpret the ANSI sequences.  That should be possible by assigning catcode 13 to the ESC character. It may be tricky to figure out how long is the argument, though, since in the escape sequences it is the last character that determines what type of sequence it is, and therefore how long the argument is.
Comment: This is definitely the right approach.  You could try some sort of looping definition, with ESC requiring a `[` and scanning until it determines it should stop (and defining the one-byte CSI to do the same thing); the fancyvrb package might help with making everything *else* verbatim.  As for the other characters, you might be able to find a font which has them, or you could define them as active too, and replace them with an appropriate symbol or, in the worst case, a figure drawn with *e.g.* TikZ.  This actually sounds interesting; I might take a crack at it if I have some free time.
Comment: Although I'm comming from a programming background (incl. Parser generation) I'm not that deep into (La)TeX at the moment. Good to know that it could be done though.
Answer: You could use the listings package, and have the terminal output to a text file (on most operative systems this is accomplished by adding >> output.txt at the end of the command).
Comment: I was considering using something like alltt ... However this doesn't provide automagical background and text coloring and dosen't provide the pseudo (double)line character for boxes and things like that so common in (menu-driven) n(curses) applications.
Answer: This would be very useful to have, I scoured the internet unsuccessfully last week for something which would do just this. I think I decided the best approach would be (eventually) to modify http://pypi.python.org/pypi/ansi2html/ so that it could support LaTeX output too, along the lines of the Pygments syntax highlighting system which creates a generic internal representation then supports multiple output formats like HTML, LaTeX, RTF etc.

How to render Terminal Output in LaTeX


Photosystem 1 and 2; P680/P700; Chlorophyll a/b

Question: I am getting slightly confused about how the above relate to each other. My current understanding is that P680 and P700 refer to the primary pigment reaction centres in Photosystems 2 and 1 respectively, with the numbers giving the peak wavelength of absorption. Now I initially thought that one of these primary pigment reaction centres must be composed of chlorophyll a and the other of chlorophyll b, hence the slightly differning absorption wavelengths. Instead, here it seems to suggest that the primary pigment reaction centre is always chlorophyll a. Most sources I have looked at do not specify what forms the primary pigment reaction centre (the Wikipedia article on photosynthetic reaction centre, for example, does not state for the general case of for photosystem 2; however it does mention that photosystem 1 has a special pair of chlorophyll a molecules at the centre).
So my specific questions are:

Is the primary pigment reaction centre in both photosystem 1 and 2 (i.e. P700 and P680) a pair of chlorophyll a molecules?
If so, what is chlorophyll b? Is it simply an accessory pigment?
Finally, if it is the case that the primary pigment reaction centre is chlorophyll a in both cases, how can it be that it absorbs at a different wavelength in the two photosystems if it is the same molecule?
Answer: Regarding your questions #1 ("Is the primary pigment reaction centre in both photosystems a pair of chlorophyll a molecules?") and #3 ("How can it be that it absorbs at a different wavelength in the two photosystems if it is the same molecule?"):
Both reaction centers in Photosystem I and Photosystem II contain only chlorophyll a. According to Lodish (Molecular Cell Biology):

As in the bacterial reaction center, at the center of each chloroplast photosystem is a pair of specialized reactioncenter chlorophyll a molecules, which are capable of undergoing light-driven electron transfer. The chlorophylls in the two reaction centers differ in their light-absorption maxima because of differences in their protein environment. For this reason, the reaction-center chlorophylls are often denoted P680 (PSII) and P700 (PSI). (emphases mine)

Regarding your question #2 ("If so, what is chlorophyll b? Is it simply an accessory pigment?"):
Chlorophyll b has a different molecular structure (and, therefore, a different absorption spectrum) and it's less abundant in the chloroplast than chlorophyll a. Here is an image depicting their molecular structures and absorption spectra:

(a) Chlorophyll a, (b) chlorophyll b, and (c) β-carotene are hydrophobic organic pigments found in the thylakoid membrane. Chlorophyll a and b, which are identical except for the part indicated in the red box, are responsible for the green color of leaves. β-carotene is responsible for the orange color in carrots. Each pigment has (d) a unique absorbance spectrum. Source: "OpenStax College, The Light-Dependent Reactions of Photosynthesis. October 16, 2013."
Both chlorophyll a and b are present in the antenna complex. Still according to Lodish:

As in photosynthetic bacteria, each reaction center has an associated antenna that consists of a group of light-harvesting complexes (LHCs); the LHCs associated with PSII and PSI contain different proteins.

However, most of chlorophyll b is associated to PSII antenna complex, not PSI, which is one of the main differences between PSII and PSI.
Source: Lodish, H. (2000). Molecular cell biology. 4th ed. New York: W.H. Freeman.
Comment: PSII generates H+ and O from water - the H+ acidifies the thylokoid lumen, IIRC. PSI, drives a process that pumps out H+, again IIRC. Doesn't this mean that the photon adsorption rates of PSII and PSI must be closely balanced? If so, then wouldn't PSII's capacity to tune its adsorption spectum be a mechanism to balance photochemistry?
Answer:
The antenna pigments are predominantly chlorophyll b, xanthophylls, and carotenes. Chlorophyll a is known as the core pigment. Their absorption spectra are non-overlapping and broaden the range of light that can be absorbed in photosynthesis. The carotenoids have another role as an antioxidant to prevent photo-oxidative damage of chlorophyll molecules. Each antenna complex has between 250 and 400 pigment molecules and the energy they absorb is shuttled by resonance energy transfer to a specialized chlorophyll-protein complex known as the reaction center of each photosystem. The reaction center initiates a complex series of chemical reactions that capture energy in the form of chemical bonds.
  Source : https://googleweblight.com/i?u=https://en.m.wikipedia.org/wiki/Light-harvesting_complexes_of_green_plants&grqid=SbEQ4daG&hl=en-IN
In land plants, the light-harvesting antennae around photosystem II contain the majority of chlorophyll b. Hence, in shade-adapted chloroplasts, which have an increased ratio of photosystem II to photosystem I, there is a higher ratio of chlorophyll b to chlorophyll a.This is adaptive, as increasing chlorophyll b increases the range of wavelengths absorbed by the shade chloroplasts.
  Source: https://googleweblight.com/i?u=https://en.m.wikipedia.org/wiki/Chlorophyll_b&grqid=UwAfK7V5&hl=en-IN

So, both reaction center have chlorophyll A, which can absorb a range of wavelengths with maxima 662 nm.
Although, peak differs for two photosystems because of antenary proteins. More chlorophyll b in PS II transfers more energy to chlorophyll a at peak 680 nm.
More carotenes and xanthophyls in PS I transfers more energy to reaction center at 700 nm peak.
Answer: From what I understand both photosystems contain chlorophyll a, although they are modified differently in each case which changes their absorption spectra accordingly.
Sources:
en.wikipedia.org/wiki/Photosystem_I
www.ncbi.nlm.nih.gov/pubmed/11687208
www.ncbi.nlm.nih.gov/pubmed/11786359
Chlorophyll b is a pigment that differs from chl a by a single functional group:

And so it also has a different absorption spectrum:

As mentioned by Goel, some plants (or plant parts) that grow in shadows have a higher ratio of PSII (contains the majority of chlorophyll b en.wikipedia.org/wiki/Chlorophyll_b, Plant physiology and development by Taiz and Zeiger 6e, chapter 9) to PSI which results in an increased amount of chlorophyll b pigments in their photosynthetic tissues. This gives them an advantage as they absorb rays with wavelengths that are missed, or not absorbed efficiently, by the leaves that shade them.


Can resin or epoxy be poured over a poly finish?

Question: I pulled the tile out of my dining table and replaced it with multiple wooden slats that I torched, sanded, then stained. The valleys in the grain are amazing and I left a smooth board in the center with mine and my children's hand prints. The problem is the material I used when done was shorter that the area it was going into. I had planned on filling it with resin but couldn't afford it so I put some polyurethane on it to prevent damage. It's been covered and unused for months. Is it safe to fill in with resin/epoxy or anything that will level it without damaging what's there?
I want to pour in a self leveling resin or epoxy that would spill over the sides to completely fill in the center and create a level surface. It's completely covered in poly right now.  The soft grain in the purple boards has been ground out after blow torching the wood leaving the hard grain black. You can feel every ridge and valley running your fingers over it. Would that help with bonding. I can't really remove the poly without damaging the color underneath. I could completely strip the black perimeter of poly if that would help. There's also minor gaps in-between enough of the pieces that whatever I pour would be able to get in and underneath the edges of the strips.
Comment: A photo will help visualize some of the details.
Comment: Photos added along with a more detailed description.
Comment: Wow your table looks great!
Answer:
Is it safe to fill in with resin/epoxy or anything that will level it without damaging what's there?

We don't know quite what you're facing but epoxy doesn't damage cured poly so you're fine as far as that goes. But if there's poly anywhere where the epoxy is intended to be you won't get any decent bond.
All film finishes offer some level of protection from epoxy bonding. If you pre-finish stuff you can see this effect for yourself (and learn to rely on it) since excess epoxy lifts off the surface with very little effort — up to the point that it can sometimes be picked off just with your fingernails.
Edit based on photo added
I think you should do something to help ensure a good bond here. Ideally such a poured finish will go on to bare wood which has plenty of microscopic texture for the resin to bond with. Since that's no longer an option it would help a lot to provide some microtexture for the epoxy to grip.
A gentle scuffing of the surface with fine Scotch-Brite or similar, or lightly sanding with a cushioned sanding block and 320 abrasive is enough. You're just looking to produce a reasonably uniform matt surface finish to create what's called a 'mechanical bond'.
Brush/blow/wipe/vacuum the dust off — ideally in another room to the one you're intending to do your pour in, since fine airborne dust can remain in the air for an amazing amount of time (hours).
Comment: Would a thorough sanding (roughing up) be sufficient to give the poly a tooth for the epoxy to bite into, or would the epoxy still just slough off, but with a bumpy underside?
Comment: Photos added along with a more detailed description.


Can Flash Attack be used with Hand Crossbows and one-handed firearms?

Question: Can Flash Attack be used with Hand Crossbows and one-handed firearms?
Answer: Short answer: No...
Flash attack states:

When wielding two light weapons, you may attack once with each...

Hand-crossbows are not technically light weapons, they are technically ranged weapons. I would guess this holds true for firearms as well. If you take a look at something like a light hammer, you can see it is in the "light" category of weapons.
...But there's wiggle room
Thanks to @hey-i-can-chan for bringing this up.
Under the rules for two weapon fighting, in regard to thrown weapons, it states:

The same rules apply when you throw a weapon from each hand. Treat a dart or shuriken as a light weapons when used in this manner

So this presents precedent for weapons being "considered" light even when they aren't in that category explicitly. You can make a pretty convincing argument that hand crossbows should also be given this special exemption as well...
My opinion: Go for it
I don't think it would be unbalanced to allow use of this feat with the hand crossbow. You'd still have to load them after your attack. Even if you use this in combination with the Hand Crossbow Focus feat, it still isn't super OP.
Ultimately, this confusing situation could be because of limitations in how 3.5/Pathfinder classifies weapons into only one category. In 5e, hand crossbows do carry the "light" attribute whereas light crossbows do not (go figure).
Comment: Welcome to RPG.SE! Take the [tour] if you haven't already, and check out the [help] for more guidance.


Enabling TSX on OS X

Question: How can I enable TSX on my Mac? The furthest I got was by trying to add a kext that would enable me to r/w to the model-specific register but I can't install non signed kexts on my Mac. Any alternatives?
Answer: Anything involving accessing low level features like CPU instructions is going to require kernel access. This is definitely a case of you should know what you're doing first, as messing with memory on the kernel level seems like it would have any number of terrible ways it could go wrong.
Assuming you do, you can install unsigned kexts by disabling the System Integrity Protection.
To do so, boot into recovery mode (hold ⌘R when rebooting), open Terminal (in the Utilities menu), and run csrutil disable. Then reboot as per usual and install the kext.
Comment: I don't have access to recovery mode that is why I said "I can't install non signed kexts on my Mac". Can't I access kernel without depending on a kernel extension?
Comment: Not to the best of my knowledge. Kernel extensions are how you modify the kernel on a Mac. What's keeping you from accessing recovery mode?
Comment: I'm not the administrator. It requires password.

Enabling TSX on OS X


Is there anything like an Internal class in Java?

Question: In C# you can mark a class as internal so that it is only accessible from within the same package. Is there anything similar in Java?
Comment: Note that C# doesn't have `packages`- They have `namespaces` and `assemblies`. Packages are equivalent to namespaces. But Assemblies can be compared to JAR files in Java. The `internal` modifier makes a class only accessible within an assembly. As such it has nothing to do with namespaces or packages.
Comment: Possible duplicate of http://stackoverflow.com/questions/2534733/java-protected-classes
Comment: @cmmi: Not really a duplicate, as the question is asked from an entirely different perspective. Same answer though.
Answer: You can create package-private classes by omitting the security modifier (public, private) from the class's declaration.
package com.sample;

class MyPackagePrivateClass
{
    ...
}

Comment: @hB0 : No way! How would you declare an "internal" helper class refereced in different packages? You simply cannot
Comment: While I agree a package is a definition far from namespace, programming several parts of a class library which may somewhat get weird, when classes have to call each other, but you don't want them to be accessible from outside that library AND then if you want to achieve this, you can't have these classes on separate packages.
Create a "Internal" package maybe, for classes used only by the own library maybe would be the safest way out.
Comment: Jar visible modifiers are not part of Java due to the nature jars are packaged. One can manually zip together already compiled classes (I had to do this on various occasions) - if "internal" was possible in java, that would allow one to easily access "internal" methods between classes which shouldn't have such visibility between them. A jar is not encapsulated in a strict manner as a dll is.
Comment: package is way better encapsulation than assembly
Comment: What I meant is "a better way of software design" not more feature intensive (which MS always comes with)
Comment: @RaduSimionescu but that's pretty much what they did with Jigsaw Modules in Java 9, right ?
Comment: this is never like internal. internal in .Net talks about assembly-private NOT package-private. assembly is the product of your project  e.g. in C# a dll or exe file (in java it could be a jar file or in android apk).while package means a folder of class files !!!! java does not have any exact alternative to internal in C#. ill add an answer on this in a while.
Comment: @Lotfi : Referencing a package-internal class from outside the package defeats the purpose of it being internal to the package. In this regard, C#/.NET allows you to do that by transferring the visibility control away from the language to put it into the build system, which is IMO overall bad design. Unlike .NET assemblies, Jars do not alter the visibility and are truly orthogonal to the language, which is better design. Other languages like C++ and Eiffel also have explicitly declared visibility. C#'s internal is a crude tool.
Answer: Dropping the access modifier is similar to internal in C#.
C#
public class A
{
    public static int X;
    internal static int Y;
    private static int Z;
}
internal class B
{
    public static int X;
    internal static int Y;
    private static int Z;
    public class C
    {
        public static int X;
        internal static int Y;
        private static int Z;
    }
    private class D
    {
        public static int X;
        internal static int Y;
        private static int Z;
    }
}

Java
public class A
{
    public static int X;
    static int Y;
    private static int Z;
}
class B
{
    public static int X;
    static int Y;
    private static int Z;
    public class C
    {
        public static int X;
        static int Y;
        private static int Z;
    }
    private class D
    {
        public static int X;
        static int Y;
        private static int Z;
    }
}

Source: http://www.javacamp.org/javavscsharp/internal.html
Comment: @User1234 in the same assembly, not namespace.
Comment: That will work ONLY if the classes A,B,C,D are in the same package..
While in C# they just have to be in the same namespace,
Answer: this Question has an accepted answer before but I think the answer is not fully clear for some one who is new in java coming from .Net.
Does java have some exact equivalent for internal modifier in C# ? short answer is NO (but you can achieve it some how and i will tell)!!
internal in C# is actually an "assembly-private" modifier. what is an assembly ?
Assembly is any product of your project (DLL or EXE in C# - equivalent in java can be a JAR file)
there is not any exact equivalent for internal in java. and what has been answered by Bryan Kyle and accepted is actually "package-private" (packages in java are equivalent for namespaces in C#) but some how what has been answered is the closest way to get the same result.
BUT how to get a fully same result as internal ? cant java have a solution for this ? the answer is YES.
it does have. but not with a modifier.
actually the best way to do this is a secret in packaging. the best practice of packing is to pack your classes by their relation not by their type.
many of us use packages named "Models" or "Presenters" and put all our models or presenters in them. while this is wrong. packages should be like "Book" containing "BookModel.java", "BookPresenter.java" , .....
this way you can make them package-private by omitting the modifier and have not any problem because you can access them in any class which need your package-private class because you have a good practice of packaging.
Answer: Yes. It's called package private, you just define the class without any modifiers:

package com.blah;
class Foo{ }

Answer: I'm not familiar with C#, but in Java the default protection is that something is only accessible within the package:
public=accessible by anyone
private=accessible only within the current class
protected=accessible within the package or in any class that inherits from the current class
default=accessible within the package
I've always thought there should be a way to say "accessible by any class that inherits from the current class but not from anywhere else, this package or any other". But there isn't.
Comment: For your last comment, C# has "protected internal"
Comment: @projectshave nope its wrong. "protected internal" in C# can be accessed from allover your assembly too. actually to limit access of a class only to its subclasses in C# juse use "protected". while in java "protected" will be accessible from the same package plus to subclasses.
Answer: Most of the answers (including the accepted one) talk about package-private. But that is far from the internal in C#.
A use case where you want only your classes in the same source root to access another class in the same source root and possibly at different packages (still in the same source root) while keeping it package-private is simply impossible in Java. If you use package-private then only the classes in the same package will have access to that resource. However, even the classes one level down in the same package (i.e. another package under that package) cannot access that class.
 a.b.c.A --> class A
 a.b.c.d.B --> public class B

Here B cannot access A. This forces you to unfortunately mark A as public.
The main difference is in the way C# or Java packs the compiled code. C# can mark them as internal (i.e. do not export the symbol from the assembly) but Java packs as jar files and the way a jar is imported is completely different.

So what is the practical solution:
Well first of all there is no forcing solution. One can use javadocs or annotations to mark a class as internal and discourage people from using it, stating that it is internal and it can be changed a lot, it is not part of the public API, just don't use it or you might get into trouble if you migrate to a new release...
I see two ways of doing this:

name your package as internal:
package org.mycoollib.api;
/** This class is part of my public API*/
public class A{
  //...
}

package org.mycoollib.internal;
/** This an internal class, don't use it or your code might not
 work in a new release */
public class B{
  //...
}

Some real life examples: jdk.internal, io.netty.util.internal and so on. When I see internal as a package name I simply avoid using the classes in that.

Use annotations to achieve the same goal as in 1
package org.mycoollib.api;
/** This class is part of my public API*/
public class A{
  //...
}

package org.mycoollib.internal;
/** This an internal class, don't use it or your code might not
 work in a new release */
@Internal
public class B{
  //...
}

Example: android.annotation.SystemApi, org.apache.poi.Internal
There might even be libraries out there to provide such kind of annotations as well as maven plugins to warn people during their builds.
As a result, the solution is in the way of thinking: We simply warn people not to use it because we don't guarantee that its name and methods won't change. If they still insist on using it, then so be it. They know the risk.
Answer: You can make a class package local. This is the default scope for a class. i.e. where you have no access modifiers.
If you really want to put sometime you can create an annotation e.g. @package_local, I do this in places where I speicifc want it to be package local and didn't just leave it unspecificed.
Answer: Yes, the default (package private) access level. Just leave out any access modifier on your class definition and you get what you want.


The Cost Parameter for Support Vector Machines

Question: I am now learning about SVMs and I learned that "cost" is one of the most important tuning parameters for building the best performing model with SVMs. But i found it very hard for me to understand the concept of "cost" because it is generally defined as "the price for misclassifications". Although i can do SVMs in R and have built some fair models, it would not do me any harm if i understand the logic behind the parameter of "cost".
Thanks
Felix
Comment: SVM objective has two terms: 1) a regularization term (e.g. $||w||^2$), and  2) a loss term $\sum_i \xi_i$ (see @Ben DAI's answer for more details). The hyperparameter $C$ provides a way to balance these two terms.
Answer: I assume that you are familiar with the Optimal Separated Hyperplane. In wiki for SVM Model, we define soft margin which allows "misclassification". A nice motivation for SVM is that some dataset are not linear, which means we can not find the hyperplane separating the different classes of the data.
Mathematically, we rewrite the constrain from
$$y_i(\mathbf{w}\cdot\mathbf{x_i} - b) \ge 1 \quad 1 \le i \le n. \quad\quad(2)$$
to
$$
y_i(\mathbf{w}\cdot\mathbf{x_i} - b) \ge 1 - \xi_i \quad 1 \le i \le n. \quad\quad(2)
$$
The slack variable $\xi$ able to states the "misclassification".
However, we can not allow too much "misclassification". In this light we rewrite the objective function,
$$
\arg\min_{\mathbf{w},\mathbf{\xi}, b } \left\{\frac{1}{2} \|\mathbf{w}\|^2 + C \sum_{i=1}^n \xi_i \right\}
$$
The tuning parameter $C$ which you claim "the price of the misclassification" is exactly the weight for penalizing the "soft margin".
There are many methods or routines to find the optimal parameter $C$ for specific training data, such as Cross Validation in LiblineaR.


Turn partition-less disk into partitioned

Question: I have formatted the disk (/dev/sdb) instead of partiton(/dev/sdb1) and filled it with data. I have a remote backup of data, but no way to do a local backup, as it is 3Tb. Now my dual-boot Windows attempts to corrupt the disk every time I run it.
Is there any way I can attempt to turn this partitionless disk into GPT-partitioned one without reformatting it and redownloading 3Tb of data?
Comment: I'm puzzled. I did not even know that something like that is possible at all!?
Answer: In theory, I suppose you could shrink the filesystem on the disk by a small amount (say, 2 MiB), then use tricky dd commands to shift it all 1 MiB to the right, then use gdisk or parted to create a partition table with a partition that begins at 1 MiB.
In practice, I do NOT recommend attempting this because there's too much chance of a slipup that will trash everything. It might be OK to risk it if you had a backup, but you say you don't have a backup. Thus, my recommendation is:
BUY ADEQUATE BACKUP HARDWARE! Once that's bought, back up the disk, partition it, and restore. In fact, you could simplify things by buying a similar-sized disk as your backup hardware, partition it normally, copy the files, and begin using the new disk in place of the original and the original as your backup.
Comment: Easy to say. The company will not pay for the backup hardware, because they have "centralized backup" over the internet, and nobody cares that downloading it will exceed our monthly limit. I would not be asking this if I could just get another HDD right now.
Comment: @BarafuAlbino: First of all: look up the name of the above poster.  He is one of the world's top 100 experts in disk technology...  If he tells you to back up, you back up! **:P  ;-)**
Secondly, print off this page and show it to the CFO of your company.  I used to be an IT director of an IT company in EMEA with about 25.000 end-users using our equipment 24/7.
Just calculate how long it will take to do a restore from the Internet only if a small truck drives into your data center/computer room's wall and just 20% of all your disks fail...
Comment: Then ask him if he can wait that long for the business to be back up-and-running and how much *that* would cost.
Don't ask for the moon: just a decent tape back-up system that makes weekly back-ups every Saturday-night running into Sunday will be fine...  **You *need* local back-up *and* remote backup!**
Don't talk about planes flying into the building!  Just a small truck!  Not even filled with fuel!  Only 20% of the disks!


How filter works (in simple terms)?

Question: Non technically speaking without coefficients and formulas, how do an audio filter cuts off low frequency from a sampled audio w.r.t  cut-off frequency ?
Comment: Did you intend to describe a high pass filter (meaning pass high frequencies and attenuate low frequencies)? In that case my answer below does not apply and I will delete it. Sorry to confuse, please clarify first.
Answer: But I really wanted to write coefficients and formulas!  Oh well, ok...in simplest terms a low pass filter is a weighted moving average. Consider charts of stock market prices and look at the minute by minute pricing compared to a "30 day moving average" and ask yourself which plot contains higher frequencies?
By adjusting the weights of each delayed copy of our signal when we combine them in the process of determining the average, we can change the characteristics of the filter in how it attenuates versus frequency.  So consider the filter as a moving window that we can average over (the memory of the filter) and higher frequency components that have many cycles within the window duration will tend to average out over this window length, while lower frequency components will not go fully plus and minus over the duration of our window so will not average out and will pass through.
For all filters analog and digital, to attenuate faster, more delay is necessary. It is amazing how much we can do from just delays and adds with weighting of each of those delayed outputs!
Update: It appears the OP is asking about a high pass filter, while the above description pertains to a low pass filter.  Note that we can take a linear phase (constant delay) low pass filter and subtract it from a delayed and gain (DC gain) matched version of the input (matching the delay of the filter but passing all frequencies equally), we would achieve the desired high pass response.  That may help to see how the same factors related to delay and filter performance apply. (This is not how I would typically implement a high pass filter as we can modify the coefficients directly, but gives insight into the process).
Answer: An electronic filter has components which their impedance are frequency dependent (Capacitors, Inductors). This gives a frequency response curve. As you alter frequency the gain of your filter changes. You place these components in your circuit to get a desired response. Usually you use an active component for gain (Op-Amp or transistor). The simplest example for a HPF in your question is an RC-filter (Capacitor in series with resistor, feed input signal into capacitor, take output across resistor).
Answer: Assumed definition of cutoff frequency: "frequency at which the signal drops by 3dB (amplitude drops by a factor of sqrt(2), power drops by a factor of 2)"
At the cutoff frequency the amplitude of the signal will 1/sqrt(2) times as large as it was before the high pass filter. Frequencies lower than the cutoff frequency suffer *greater attenuation depending on how far away they are from the cutoff frequency.
I put an "*" by the word "greater" because some filters will not roll off monotonically at all frequencies below cut-off. Check out this link to see what I mean:
https://www.mathworks.com/help/signal/examples/filter-design-gallery.html

How filter works (in simple terms)?


When do the spindle fibers attach to the chromosome

Question: At what phase does this occur in mitosis (or even meiosis); some text books say prophase while others say metaphase.
Comment: Would you like quoting which book said what?
Comment: Happens in prometaphase.
Answer: Your confusion comes from the inconsistent terminology in the literature. The attachement of the spindles to the chromosomes happens in the Prometaphase [1, 2]. The name already suggests that this is not one of the classical phases is cell division, but lies somewhere between Pro- and metaphase. Wikipedia states:

Prometaphase is sometimes simply included as part of the end of prophase and early metaphase.

If you really need to stick to the classical scheme of pro-, meta-, ana- and telophase, I would personally suggest to treat the attachement (not the formation!) of spindles as a part of the metaphase.


What Are saveRefs and resolveRefs?

Question: I'm trying to find the definition for saveRef and resolveRef. I'm seeing these attributes in my Json plan files. What do they mean?
Comment: @KeithC They're in relationship to SFDX data imports (force:data:tree:import).
Comment: Best you explain more about where your "Json plan files" come from. If it's a 3rd party system rather than Salesforce, best to ask on a forum that is about that 3rd party system.
Comment: @sfdcfox Thanks. Will be interested in the answer.
Answer: The goal of the data commands are to import and export data. The problem with importing new records is that you don't know what the ID values are beforehand. So, if you're importing Accounts and Contacts, you need a way to associate the Contact to each Account, without an ID. You need a Plan. A Plan is a metadata file that explains how each JSON file is related to each other, and the order in which files should be imported. Each record in a JSON file needs to have a "referenceId", a unique identifier within the entire Plan so you can reference the appropriate parent records later.
So, for each parent record, you need to save a reference to the record; after inserting, there will be a result object that says something like "accountRef123" equals "0015000000abcde". Normally, these results are discarded (saveRefs: false), but if you need those ID values later, you'll want to save them (saveRefs: true). Then, in the subsequent files, whenever a lookup field uses a value starting with an @ (e.g. "@accountRef123"), it can resolve the reference you previously saved (resolveRefs: true). Obviously, both saving and resolving references involve extra disk space and CPU time, so if you don't need them, you don't need to save/resolve them.
If you use force:data:tree:export with the -p option, a Plan is created for you, and these flags will be set for you automatically. If you're constructing your data by hand, simply remember that if you need a referenceId to be used in a later JSON file, saveRefs must be true, and if you need to use @ references, then resolveRefs must be true.
Comment: Could you pelase clarify how would you make usage of the saveRefs result? The saveRefs results are written ona . disk, and when you do the import of a second json they will be resolved from the same folder?
Comment: @Edmondo1984 Like I said, you use the plan file to import multiple JSON files in a single command, and the saveRefs saves a "ref to salesforce Id" value. I haven't experimented with separate commands and how that works with saveRefs/resolveRefs, but normally you'd use these values within the same plan file (a plan is a list of JSON files to import in order, linked together by refs).

What Are saveRefs and resolveRefs?


Which algorithms(paper) should be reproduced by a student to enter the field of computational fluid-structure interaction?

Question: We'd better not to reinvent the wheel. But without some programming, one can hardly understand  computational fluid-structure interaction. And I would like to know which papers or algorithms should a student reproduce in order to understand the big picture of computational fluid-structure interaction. It is better if there is a step-by-step order.
Answer: Computational fluid-structure interaction is challenging endeavour. The type of coupling algorithm you need to employ depends on the type of the problem you want to solve. It is important to understand the difficulties associated with simulating different kinds of FSI problems.
You may refer to my recent presentation on the topic for the details. Title: Computational fluid-structure interaction - Large deformations, added-mass & staggered schemes
For solving fluid rigid-body interaction problems using an explicit coupling, you can refer to my recent paper titled A second-order accurate non-intrusive staggered scheme for the interaction of ultra-lightweight rigid bodies with fluid flow
This is the pseudocode of our staggered scheme for FSI.

Some key features of the scheme are:

Needs only the forces from the fluid solver, and displacement and velocity from the solid solver. Therefore, easy to couple different fluid and solid solvers as black boxes.
Second-order accurate in time.
Fluid and solid sub-problems are solved only once at every time step. Significant gains in computational efficiency.
Demonstrated to cope with significant added-mass.

We have also successfully applied this scheme to some challenging fluid-flexible body interaction problems. See the presentation for the numerical examples. I am happy to discuss further if necessary.
For other similar schemes, you can refer to the references in my paper.
Comment: Thank you very much. Your answer and open source materials are inspiring.
Answer: I have spent some time searching for the answer. Now I find two webpages very useful.
One is by the inventor of immersed boundary method, Prof. Peskin's course on IB:LECTURES ON THE IMMERSED BOUNDARY METHOD
Another one is by a famous scholar on FSI(moving mesh, deforming mesh), Prof. Tezduyar's course: COMPUTATIONAL FLUID MECHANICS
Prof. Peskin and Prof. Tezduyar's handwritten notes reflect their concise understanding and creative mind on the subject, which are of great inspirations to me.
Surely, my answer is partial. There are definitely other resources valuable.


The Bayes credible interval / Bayes credible region of the posterior distribution of a multinomial Dirichlet conjugate pairs

Question: I have a posterior distribution of Dirichlet form with new parameters (alpha1, x1), (alpha 2, x2) and (alpha 3, x3) and the posterior mode of each dependent variable as the Bayes estimator. I wish to find the Bayes credible interval/Bayes credible region of the posterior to know the uncertainty in my Bayes estimators. But I have no idea how to find it for each of the three posterior estimators of three dependent variables I have. I am also confused with 95% and 90% credible interval. Why there is no 100% probability that a posterior estimator lies in an interval? What is the difference between Bayes credible interval and Bayes credible region?
Answer: I don't know if you actually want to calculate a credible region for all three parameters jointly (it makes things more complicated). Instead you can calculate the credible intervals for each parameter marginally, which is simple enough since the marginal of a Dirichlet is Beta (https://math.stackexchange.com/questions/543764/let-x-y-have-a-dirichlet-distribution-with-paramters-alpha-1-alpha-2-al). There isn't a difference between credible intervals and credible regions other than the phrase "credible region" sometimes being reserved for multivariate summaries.
As for why there aren't any 100% credible intervals that get reported, think about it for a second. If you'd like, for example, the 100% credible interval for one of the parameters (which is a proportion) in your problem marginally, it's just going to be $[0,1]$! If instead we wanted a 100% credible interval for some posterior that's normal, it'd just be $(-\infty,\infty)$! In general, a 100% credible interval is going to just spit back out the interval where the prior has any mass, which isn't helpful at all.
Comment: As I said, each parameter is marginally beta (with parameters described in the link above), so all you have to do to get the (1-$\alpha$)% credible interval for each parameter is to calculate the $\alpha/2$ and $1-\alpha/2$ quantiles of the marginal beta (which can be done in one line in R). Deciding which $\alpha$ is best for you depends on your problem at hand! $95$% is somewhat standard, but it's really up to you.
Comment: I obtained the posterior distribution of Dirichlet form when I did the bayesian estimation of three dependent variables with the conjugate  prior; the multinomial distribution. Then I found the posterior mode for the three variables separately. Now I want to find the credibility of each  posterior variables. I need help to understand the procedure / formulas if any, to find the credible intervals for each posterior estimates/modes. I have seen in many reference about 90% and 95% credible intervals. What's the difference between them?  Which one is better and relevant to choose?
Comment: The formula for Bayesian credible interval to find 95% credible interval in R is found as qbeta(.025, alpha0 + x, beta0 + n - x) and qbeta(.975, alpha0 + x, beta0 + n - x). But I am confused with the  notations in the formula. I have posterior parameters (alpha1+ x1), (alpha 2 + x2) and (alpha 3 + x3). Please help me to use them in the formula. How can I  find credible interval for each posterior parameters from this formula? I also have posterior modes as posterior estimates obtained from my posterior parameters respectively. Do I need them to find the credible intervals?


How to set approval for all my erc 20 token on my marketplace smart contract

Question: I am trying to build an nft marketplace where users buy nft using my own erc20 tokens. I want to eliminate the need for the user to set approval for the marketplace smart contract before they want to buy an nft. Is there any alternate such as setApprovalForAll() function for the erc721 contract?
Answer: You can use ERC20Permit extension, so users will approve with signature and transfer tokens in one tx. So in your nft contract buy func will be kind of "swap" of nft for received erc20.
Answer: For some ERC20 you can achieve something similar by calling
<code>token.methods.approve(marketPlace, MAX_UINT256)
</code>
OpenZeppelin contracts implement that feature.


Display 3dsmax models in web browser

Question: I have some 3d models written in 3dmax/maya/cad/4dcinema , i wand to display them in my website so user can rotate the model and inspect it .
i have found this on the internet http://replimat.com/thingiview/examples/client_side_ajax.html i think it will work IF i could somehow convert those models from 3dmax/maya/cad/3dcinema to OBJ/STL .
is there any converter available for linux ? or any other method to display those models in web browser without having to install anything on the browser ?
thank you .
Comment: Write a WebGL-based viewer, and become rich and famous. // ontopic: there are no such viewers yet.
Answer: Export your model in maya to a wavefront(.obj) file. Then you could use a library like three.js, along with this script to load and view .obj files within the browser
obj to three.js json
Programming the moveable camera can also be done using the library. If you want to use the default formats, it will be tricky as you may need to write the parser yourself if there isn't one and the spec is freely available.
Comment: Blender can convert many files into Wavefront OBJ.  There is also always the option of using VTK to load a mesh and export it as OBJ.
Comment: any unix softwares to convert stuff to .obj ?
Comment: Wings3D has a built in converter to waveform, but I am not sure if it will accept 3dmax/maya's default file format. But I am sure there should be a common export/import format in 3dmax/maya  and Wings3d
Answer: I remember 3dsmax support obj format, regarding the other apps I don't remember.
Anyway, you can use try this tool, you didn't mention which formats you saved from 3dsmax/maya/cad/3dcinema but it supports many format.
Comment: Hi Lior , have you checked the link in my question , there's a rotating 3d object , try moving it . i want to use such viewer to view 3d object right from the browser . 3d objects i want to view are default formats for 3dsmax/maya/cad/3dcinema
Answer: For the widest range of existing solutions you won't beat converting your models to VRML.
This format has plugins that support browsers as far back as IE 3 and Netscape 4. There are a large number of free and commercial plugins that handle this format. If you don't want the user to rely on plugins there are also java applet based viewers.
There should be a variety of tools that will convert your models to VRML as well, even if you have to save to an intermediate format first.
The main downside of VRML is lack of fancy new features like shaders, bones and complex texturing but whether those things are necessary all depends what you're trying to achieve.
Answer: You can try to use this webservice http://showwebgl.com it does not support 3dsmax directly but you could export your model into obj or collada then upload it. Have a look at the faq if it fits your need. http://showwebgl.com/faq
Comment: Thank you , but the problem is i want to display the models in my website :)
Comment: You can embed it with the iframe code, and it will be on your website
Comment: Will be a bad idea for my site members
Answer: Check this link. - http://www.thoro.de/page/3dnp-introduction-en
Visitors don't need to install anything on their browser, just click and go. Your 3d model loading takes some time, for that a progress bar is shown.
Answer: I've done this using X3DOM. It allows you to script interaction with the 3D object using javascript.

First export from 3ds Max as VRML.
Convert the VRML to X3DOM by copying and pasting the code into this online converter.
Simply insert the converted code into your web page where desired.

Because the 3D model is now part of the dom you can manipulate it with javascript and style it with CSS. Here's an example.

Display 3dsmax models in web browser


What is the gyro sampling rate on the Spike Prime hub?

Question: I was wondering what is the inertial measurement unit sampling rate, because for my project I need 800 Hertz. I tried to look in the firmware file but I didn't find anything. I use the pybricks firmware on a Lego Spike Prime hub.
Answer: Digging a bit into the C source code for the pybricks firmware, I was able to find these two lines:
PT_SPAWN(pt, &child, lsm6ds3tr_c_xl_data_rate_set(&child, ctx, LSM6DS3TR_C_XL_ODR_833Hz));
PT_SPAWN(pt, &child, lsm6ds3tr_c_gy_data_rate_set(&child, ctx, LSM6DS3TR_C_GY_ODR_833Hz));

...which means that the IMU is set to a sampling rate of 833Hz.
Please note that this is how the IMU electronics are configured when pybricks starts - this does not necessarily mean that the pybricks firmware nor the hub's microcontroller CPU can keep up with that rate, or that they can run some of your python code 833 times per second, or that pybricks will run python code at that rate.
It should be possible to change the sampling rate by modifying the pybricks C code and recompiling the firmware. If you want/need to take on this endeavour, read https://github.com/pybricks/pybricks-micropython#development first.
Answer: In the comments of one of the accepted answer on the question here:
What internal electronics do Spike Prime and Mindstorms Robot Inventor use?
it's mentioned that the pybricks people have determined that the IMU module is a STMicroelectronics LSM6DS3TR-C.
Googling for this I found the following document on the manufacturers website: https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf
Which list output data rates from 1.6 Hz to 6.6kHz, probably depending on which mode the chip is configured in... I have no way off knowing which mode/value applies, but perhaps someone else does...


Is there an accepted way to numerically represent note values out of standard notation?

Question: Say, a quarter note, how is it most commonly represented? "1/4"?, "quarter"? What if it's a dotted-note?
It would be useful to have a simplified numeric representation for note values, e.g. the exponent that determines its relative duration, -3 for a large note, 2 for a quarter, etc.  1/4, 1/256 is numeric, but it's a rational and needs two figures. Dotted-notes can only be represented as fractions.
Are there non-conventional representation systems based on that premise of minimal numeric form? (I don't mean the numbered or the integer notation, that do not contribute much to note value representation in this sense).
Comment: To throw another wrench into this question... answers should also consider triplets, duplets, sextuplets, and other -tuplets in general.
Answer: Perhaps I've misunderstood the question, but how about using lilypond notation? A whole note is denoted with a "1", half note "2", quarter "4" etc. For dotted notes add a ".".
Comment: Lilypond is pretty standard. +1 Here's the [relevant bit](http://lilypond.org/doc/v2.18/Documentation/notation/writing-rhythms), along with another piece of shorthand the OP may find useful - you can leave off the number to say the note is the same as the previous one.
Answer: well, midi is the only standard that turns note durations to integers.  you take a particular resolution in ticks per quarter note.
so let's say your whole note is 768 (=256*3)
it's divisible down to the 256th note and can be a triplet.
Or you can use higher resolutions for more precision, maybe multiply by 3 a few more times.
keep in mind that held notes' durations can get intricate.  you can slur together any number of 16th notes.
if you really need small integers, you might try flipping the note denominator to the top to use, then triplet or dot or slur those.  that'll pretty much do what standard notation does.
but as far as standards, midi is about it.  well, maybe you could check into musicxml.  i don't know much about it.
Comment: MusicXML is designed for MIDI compatibility, so it handles duration in much the same way. The terminology is a little different, but you specify a number of "divisions" per quarter note and note durations are given in multiples of those divisions.
Answer: In abcnotation note length is specified relative to a unit note.  So if unit note is quarter, an eighth is A/2, a half a2, dotted quarter A3/2.  Since it was originally developed for transcribing folk music, various short hands are allowed.  More details at http://abcnotation.com/wiki/abc:standard:v2.1#note_lengths.


Sudden FPS Drop in CSGO

Question: I have been playing csgo for the past 2-3 months, it runs smoothly on my laptop without any problem, but just last week my fps suddenly dropped to around 18-22 in game, totally unplayable. I havent changed any settings in game or in my laptop. I tried reinstalling CSGO or reformatting my laptop, still nothing works. Can anyone please give me a solution to my problem?
Comment: Do you have any software running (chrome, skype etc.) while playing. i know that chrome can cause fps loss on DotA2
Comment: no, absolutely nothing, even the firewall....i turned off everything. before i used to play csgo while chrome was still running...and my fps was stable.
Comment: Do you notice that your laptop is getting any hotter than it used to while playing the game?
Comment: Yes, when i was playing csgo it usually gets pretty hot. but im not sure if i damaged my drive or not? help?
Comment: is it a constant 18-22 fps? or does it drop down low sometimes?  i know my game drops from around 200fps down to 30 when i'm in a very sunny area on some maps like logs, if that's your issue then you should lower your video settings in csgo.
Answer: If your laptop is hot try to download and configure some fan control software like SpeedFan, then set the fans to run higher, it will help. Im using SpeedFan on my computer too.
Comment: This solution might work if your cpu's are configured to run slower when they are overheated. Simply keeping the laptop on a table, or dusting out the laptop might work too.
Comment: will this solution also work for macs? I play on a Macbook Pro 13" and it overheats after one game in comp.
Comment: @Neffer_23 Google is your best friend... but anyway, try this [http://www.crystalidea.com/macs-fan-control](http://www.crystalidea.com/macs-fan-control)
Comment: @Neffer_23 no problem mate:)
Answer: Though I don't know what happens to cause this, I found a trick that works for me!
Try pressing alt+tab, and then go back in the game. This usually does the trick for me.
Please let me know if it worked/ didn't work.
Answer: Try cleaning the laptop with some canned air. Dust can sometimes block the vents and fans of laptops decreasing its cooling efficiency.

Sudden FPS Drop in CSGO


Should my garlic be sprouting already?

Question: I planted garlic last weekend, expecting it to come up in the spring, as indicated here. Then I went away for a few days. When I came back today, it was already sprouting. Should I be alarmed? Is this normal? Is this what planting garlic means in the era of global warming?
Answer: I've had garlic sprout in the fall myself when the weather turns quite warm after a cold spell (in November in my area). This is normal but not-helpful behavior for garlic in the North (I'm assuming that you garden in a colder climate because you haven't indicated a location in your profile). So, what to do about the sprouted garlic?
It's okay if the foliage freezes, which will of course happen over the winter, but that does set the plant back a bit in the spring. What's worked best for me in preventing this is heaping soil over the newly sprouted foliage. This appears to protect the foliage from the colder air until it's covered by snow. You could also apply a thick layer of mulch instead of soil, if you wish.
Next year, I recommend waiting until very late October to mid-November to plant your garlic (depends on how far north you are/your agricultural zone, of course).

Should my garlic be sprouting already?


How bad is this cam wear?

Question: This is from a 96 viper, with a hydraulic roller cam, having .600" of lift. This cam has about 2000 miles on it, but mostly hard track miles
Answer: It's really hard to tell from the images whether or not the cam is wiped, but if there are only 2000 miles on the cam, then that is a lot of wear, even if it's all track miles.
If you are really worried about it, you need to pull the cam (yah, I get it ... in Viper, easier said than done), then measure it with a micrometer to determine wear, plus give it the feel test. Run your fingernail over the lobes along the axis and see if you feel any ridges. Without measuring it, you're not going to know the extent of the wear.
Another thing you can do is look at your lifters. Check the rollers for wear. Are they in good shape? If the rollers move fine without any wobble or deflection, plus the rolling surface is in good shape, things might just be okay. I don't know that I'd trust it, though. Wipe out your cam lobes and wipe out your engine. There'd be too much metal hanging out in the pan to be doing your engine any good.
Comment: I can get my finger down the lifter bore and the lobe feels smooth. It looks more like a discoloration due to heat, but I'm not confident in that assertion. The rollers on the lifter look pretty good also. I rolled them back and forth in my hand and I don't feel any catch.

How bad is this cam wear?


Can I choose the same starting skill twice?

Question: All (that I know of) schools in the first edition of Legend of the Five Rings provide the set of starting skills for the characters. Sometimes one or more of those skills are "open ended" like "any Bugei skill".

Can I choose a skill that's already on the list? For example: having Kenjutsu on the list and choosing it as my "any Bugei skill"

And if it is possible will this give me Kenjutsu 2 or just a wasted skill slot (the second option sounds unlikely, but I want to be sure)?
Comment: I'd stay stick with 1e.  The later editions made more profound changes than this - some of them *dramatically* more profound.
Comment: I prefer first edition answers, because that is what I play, but I guess, that if none can be found, other editions can be useful too.
Comment: Neither am I, but it is at least some hint. Do the schools work in a similar manner in fifth edition, anyway?
Comment: @skkf: That may be worth asking as its own separate question.
Comment: @skkf : Which school are you looking at? I may edit my answer afterward. Also, Editions 1-4 have a similar, even if ostensibly, rolling and advancement system. 5e works like Star Wars: Edge of the Empire after the rights were bought, and almost everything works quite differently.
Answer: The first relevant book for this question will be Legend of the Five Rings – Roleplaying in the Emerald Empire, aka the first edition core rules.
Let's skip right to Character creation, Chapter 2: Book of Water. Page 56 defines skills, and then page 57 instructs as follows:

Third: choose a school
... Then, write the Skills in the Skills section. Skills your character learns in his school will almost always begin at Rank 1.

The example of character building on page 62/63 does not help here, it chose a skill that the character didn't have yet. The Skills-subchapter starting page 68 says nothing. Neither does the first school with such a choice (Kuni Shugenja) elaborate on it.
The relevant passage does not explicitly forbid to stack the choice-Skill with a set Skill but says explicitly that while it is usual and almost always a Rank 1, that doesn't necessarily need to be so.
All but 3 schools get 7 separately listed Skill slots (either dictated skill or a choice). The 3 others are the Dragon Bushi, who get only 6, the Dragon Shugenja, who get 5, and the Unicorn Bushi, who gets get 6 slots naming one skill at 2. Unicorn Bushi is thus the only school that gets a higher skill level.
Most free choices use the syntax of "any one [X] Skill" or similar. However, not every choice is formulated so openly! Phoenix & Scorpion Shugenja say "any other 2 High Skills" (emphasis mine), excluding any Skill that is already on the sheet.
The second relevant Book is the errata, which does little to change rules in the relevant sections. But they do contain the following clarification:

Q: If a school gives you a choice of two extra high skill, can I take on skill at two?
A: Yes, depending on your GM's preferences.

Conclusion
Combining this reading of the core book schools with the exact language of the paragraph, my conclusion is:
Strictly reading it is not forbidden to double up a skill and thus get a higher specialty for less width. Since it is, for cost purposes, not relevant in which order skills are bought during character creation, it wouldn't save points for optimization.
The sentence structure in the Phoenix & Scorpion Shugenja choices heavily implies, that, while generally not forbidding double ups but for those two, it is usually intended to be an addition of any skill not already learned.
The Errata however clarify in the contrary: It is up to the GM to decide if doubling up school skills is allowable.
Answer: GM Approval, but Yes
Mathematically, as long as you buy any skill with Character Points (p57) it's a wash since they only charge 1CP per rank no matter what that rank is. Where things get a little questionable is that your starting maximum for Kenjutsu (or whatever) would be bumped to 4, because once you get to the character points stage, you can raise any one thing twice, with only traits explicitly capped at 4. If you plan to exploit that then your GM make take some issues with you gaming creation, and that's the only reason I won't call it a definite "yes".
In 3rd and 4th edition they charge based on the level of the skill, and saving a character point and interrupting the balance (even if only one point).