I am doing a scene in a movie where someone runs through a forest

Question: I don't know how to keep a moving camera steady. I also want to properly light this, is there a way I can get light into a forest? Or is there a good program to fix lighting. (I heard about color-grading, but i'm not sure what it is.)
Answer: There are a number of options for keeping a moving camera steady. There's the new electronically controlled gimbal mounts, they do an amazing job of removing camera movement, and they're relatively inexpensive to buy or hire. I use one of these, and it's great for DSLRs or a Blackmagic Cinema camera.

There are also passive stabiliser mounts, that let the camera swing freely but use weights to slow the rotation down. If you're on a super low budget you might want to consider one of these.

Going the other way are the full-body stabiliser rigs like SteadyCam and GlideCam. These are rigs that the operator wears and provide a very stable platform for even quite large cameras. We have a glideCam rig where I work and from experience it requires a fair bit of practise to use well - not to mention stamina and physical strength.

As for lighting, you can't fix what you can't see. Colour correction and grading will fix problems and create a 'look', but you have to be in the ball park for the results to be any good. This is because physics: if you don't have enough light and you try to bring up the levels in post you're only going to get a bunch of noise. Similarly if your picture is completely blown out you won't be able to retrieve any information where the levels are completely white.
To light a forest requires either big lights and a generator truck, or imagination. Without large light sources you're only going to get pools of light, so you need to use smaller shots and edit it cleverly. You could give the character a practical source of light - torch, lantern burning branch, and then move the light source with them, using the pools of light it creates.
Another good trick for lighting for darkness is to mainly light from behind, giving your subjects rim light, but little light on their faces, except maybe a small eye light and some bounce. For close-ups you bring in a bit more fill, but for the wides you keep everything silhouetted.
You can also shoot day for night. That's where you shoot during the day, but then bring down the exposure and saturation and grade it to give the feeling of night time. Done badly it looks rather cheesy, but it is a common technique, you'll find plenty of tutorials for it.
Answer: The first part of your question: asking how to keep the camera steady really depends on what kind of camera you have. there are quite a few "steadicam" type rigs for the smaller cameras in use today, they do take practice to use well. Can you contact a local rental house in your town to see if they have one for rent? The second part of your question: depends on the shot, how wide? what time of day, how long?
Comment: The scene is _supposed_ to be during night time, but according to @stib, I can lower the exposure and saturation to make it look like night when I shoot during the day.
Answer: To keep your moving camera steady, there are multiple options.

Many video cameras include an "optical image stabilizer" to stabilize the footage as you're shooting. It's done digitally.
As Tom said in his answer, you can look into a consumer-level "steadicam" device.
The appearance of shaking is reduced with a wide-angle lens. (Conversely, if you're "zoomed in", the shaking is a lot more obvious.)
In film school 20 years ago, I built a "shaky-cam" mount for my 8mm film camera. It's simple and cheap, and works pretty well. Simply put, you mount the camera on a board. This was used for "running through the forest" shots in the cult classic "Evil Dead". It's item #4 on this page.
Comment: I think 'shakycam' rigs were just about compulsory for anyone going through film school around 20 years ago!
Comment: That's exactly when I was in film school! :)


Classpath including JAR within a JAR

Question: Is it possible to specify a Java classpath that includes a JAR file contained within another JAR file?
Answer: If you're trying to create a single jar that contains your application and its required libraries, there are two ways (that I know of) to do that.  The first is One-Jar, which uses a special classloader to allow the nesting of jars.  The second is UberJar, (or Shade), which explodes the included libraries and puts all the classes in the top-level jar.
I should also mention that UberJar and Shade are plugins for Maven1 and Maven2 respectively.  As mentioned below, you can also use the assembly plugin (which in reality is much more powerful, but much harder to properly configure).
Comment: So here we are, 5 years later. It looks like this is still true. Very sad :(
Comment: The best way I know of now-a-days is to use IntelliJ jar artifact. It extracts all of the classes from the dependant jars and puts them in your one jar.
Comment: Thats not possible in some situations like when your using JCE implementations like BouncyCastle that needs to be signed
Comment: @BrainSlugs83 ... What are you trying to do?  I think One-Jar's classloader and packager is still the answer to including a Jar within a Jar (for Java SE) projects.  Using UberJar eliminates the problem by extracting class files into your Jar.
Comment: The UberJar link needs login credentials. Is there any successor webpage?
Comment: @StealthRabbi This is how, it's pretty amazing for the rare times you need to do this: http://blog.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/
Comment: I know I've done this before -- years and years ago in Java 1.5 -- it didn't seem that hard then, just obscure. -- Now I need to re-figure out how I did that. -- Seems this isn't the answer I'm looking for.
Comment: @enl8enmentnow how can you do this in IntelliJ?
Comment: Another +1 for One-Jar. Grab the ant-task distro and wire it into your builds. Takes 5 minutes and works as advertised.
Comment: I happened to be working on a project where writing a script to do this was beneficial. It explodes all jars in a lib folder and puts them in with your top-level jar. Here's a gist of the script:
https://gist.github.com/prmichaelsen/334c4928ba8d75cfbddecc048f070d13
Comment: @debuti how would one solve this problem when you do have bouncyCastle?
Comment: @T3rm1 so we are in 2020 and it is still true :(
Comment: SpringBoot fat jar are have jars inside the main jar. The key is to find to be able to reference a fat jar in a classpath...
Comment: @MichaelChourdakis in 2022 I was able to do this in Eclipse -> project -> export -> runnable jar file -> lets you choose whether you want to include the jar (but you'll have to manually handle the classloader) or explode it (which worked for me)
Answer: You do NOT want to use those "explode JAR contents" solutions.  They definitely make it harder to see stuff (since everything is exploded at the same level).  Furthermore, there could be naming conflicts (should not happen if people use proper packages, but you cannot always control this).
The feature that you want is one of the top 25 Sun RFEs: RFE 4648386, which Sun, in their infinite wisdom, has designated as being of low priority. We can only hope that Sun wakes up...
In the meanwhile, the best solution that I have come across (which I wish that Sun would copy in the JDK) is to use the custom class loader JarClassLoader.
Comment: Naming conflicts are actually almost guaranteed to happen with stuff like log4j configuration and license texts.
Comment: Sadly JarClassLoader is GPLv3/commercial so it's probably not going to get "copied by sun (now oracle)", and can't be used commercially unless you have the internal political clout and time to get something purchased. I agree however that jars that barf on the current directory are a bad thing.
Comment: +1 for the idea in this answer (though I won't be +1'ing the answer itself): you can't re-package any signed JAR file, so this technique can't be used in many situations (e.g. Java's `activation.jar`).
Answer: After some research I have found method that doesn't require maven or any 3rd party extension/program.
You can use "Class-Path" in your manifest file.
For example:
Create manifest file MANIFEST.MF
Manifest-Version: 1.0
Created-By: Bundle
Class-Path: ./custom_lib.jar
Main-Class: YourMainClass

Compile all your classes and run jar cfm Testing.jar MANIFEST.MF *.class custom_lib.jar
c stands for create archive
f indicates that you want to specify file
v is for verbose input
m means that we will pass custom manifest file
Be sure that you included lib in jar package. You should be able to run jar in the normal way.
based on: http://www.ibm.com/developerworks/library/j-5things6/
all other information you need about the class-path do you find here
Comment: This answer does *not* work. from the oracle doc (linked by banana above): "The Class-Path header points to classes or JAR files on the local network, not JAR files within the JAR file"
Comment: Oh no it doesn't work, once I moved `custom_lib.jar` away, the jar cannot be executed anymore :(
Comment: It works for executable jar scenario (tested), but it may not work when you want to include a jar in a library jar.
Comment: Anything known whether this can also be used in an Android setting.
Comment: How can multiple jars specified in the Class-Path?
Comment: Answer to my question is place space between jar names.
Comment: As stated by @sebnukem above, it doesn't work. It'd be great if it did work, since then, you wouldn't have to use those OneJar and UberJar/Shade stuff or whatever. However, with the new `jpackage` introduced in JDK 14, you can create an installable package which will also include all libraries that you want. And using a `jar` file seems kind of primitive.
Answer: Use the zipgroupfileset tag (uses same attributes as a fileset tag); it will unzip all files in the directory and add to your new archive file.
More information: http://ant.apache.org/manual/Tasks/zip.html
This is a very useful way to get around the jar-in-a-jar problem -- I know because I have googled this exact StackOverflow question while trying to figure out what to do. If you want to package a jar or a folder of jars into your one built jar with Ant, then forget about all this classpath or third-party plugin stuff, all you gotta do is this (in Ant):
<jar destfile="your.jar" basedir="java/dir">
  ...
  <zipgroupfileset dir="dir/of/jars" />
</jar>

Answer: If you are building with ant (I am using ant from eclipse), you can just add the extra jar files
by saying to ant to add them...
Not necessarily the best method if you have a project maintained by multiple people but it works for one person project and is easy.
for example my target that was building the .jar file was:
<jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
    <manifest>
        <attribute name="Author" value="ntg"/>
        ................................
        <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    </manifest>
</jar>

I just added one line to make it:
<jar ....">
    <zipgroupfileset dir="${external-lib-dir}" includes="*.jar"/>
    <manifest>
        ................................
    </manifest>
</jar>

where
<property name="external-lib-dir"
          value="C:\...\eclipseWorkspace\Filter\external\...\lib" />

was the dir with the external jars.
And that's it...
Answer: Not without writing your own class loader.  You can add jars to the jar's classpath, but they must be co-located, not contained in the main jar.
Answer: You need to build a custom class-loader to do this or a third-party library that supports this. Your best bet is to extract the jar from the runtime and add them to the classpath (or have them already added to the classpath).
Answer: I use maven for my java builds which has a plugin called the maven assembly plugin.
It does what your asking, but like some of the other suggestions describe - essentially exploding all the dependent jars and recombining them into a single jar
Comment: The Maven assembly plugin is pretty painful to use ... UberJar and Shade are Maven1 and Maven2 plugins (a fact I should have mentioned above, and will do so now)
Answer: If you have eclpise IDE, you just need to export your JAR and choose "Package Required libraries into generated JAR". eclipse will automatically add the required dependant JARs into the generated JAR as well as generated some eclipse custom class loader that load these JARs automatically.
Answer: I was about to advise to extract all the files at the same level, then to make a jar out of the result, since the package system should keep them neatly separated.
That would be the manual way, I suppose the tools indicated by Steve will do that nicely.
Answer: Winstone is pretty good http://blog.jayway.com/2008/11/28/executable-war-with-winstone-maven-plugin/. But not for complex sites. And that's a shame because all it takes is to include the plugin.
Answer: Well, there is a very easy way if you're using Eclipse.
Export your project as a "Runnable" Jar file (right-click project folder from within Eclipse, select "Export..."). When you configure the export settings, be sure to select "Extract required libraries into generated Jar." Keep in mind, select "Extract..." and not "Package required libraries...".
Additionally: You must select a run-configuration in your export settings. So, you could always create an empty main( ) in some class and use it for your run configuration.
Anyway, it isn't guaranteed to work 100% of the time - as you will notice a pop-up message telling you to make sure you check the licenses of the Jar files you're including and something about not copying signature files. However, I have been doing this for years and have never encountered a problem.
Answer: In case you are using Spring Boot, you may want to have a look at this documentation: The Executable Jar Format

Java does not provide any standard way to load nested jar files (that
is, jar files that are themselves contained within a jar). This can be
problematic if you need to distribute a self-contained application
that can be run from the command line without unpacking.
To solve this problem, many developers use "shaded" jars. A shaded jar
packages all classes, from all jars, into a single "uber jar". The
problem with shaded jars is that it becomes hard to see which
libraries are actually in your application. It can also be problematic
if the same filename is used (but with different content) in multiple
jars. Spring Boot takes a different approach and lets you actually
nest jars directly.

The Spring documentation also lists some alternative single Jar solutions:

Apache Maven Shade Plugin
JDotSoft JarClassLoader
One-JAR
Shadow Plugin (Gradle)
Answer: Extracting into an Uber-dir works for me as we s should all be using root:\java and have outlets code in packages with versioning. Ie ca.tecreations-1.0.0. Signing is okay because the jars are intact from their downloaded location. 3rd party signatures intact, extract to c:\java. There's my project dir. run from launcher so java -cp c:\java Launcher
Comment: So jars in c:\java\jars. Source, binaries and resources in c:\java. Exclude backups,properties, keystore_private. Unpack to c:\java and run with classpath forming tool, so maybe ca.tecreations.system.tools.SystemTool or comparable java class. Execute that.
Comment: I have working code for anyone seeking a solution to this problem. Please contact email@example.com. I guess I could say, you can attempt to download from tecreations.ca/java/downloads/release/ and then attempt to run ca.tecreations.launcher.Launcher, but YMMV.
Answer: I would advise to use one jar and many libraries in separate jars, not in a single jar. Use separate jar from jar libraries.
Suppose you have such a folder structure:
path/yourApp/yourApp.jar
path/yourApp/lib/lib1.jar
path/yourApp/lib/megalib1.jar
path/yourApp/lib/supermegalib1.jar

All you have to do, add each of used jar to your MANIFEST.MF.
Manifest-Version: 1.0
Main-Class: com.company.MyProgram
Class-Path: ./lib/lib1.jar ./lib/megalib1.jar ./lib/supermegalib1.jar

So, in the manifest, you grant usage to each library.
Single file "all in one jar" might be easier to share and distribute, but not significantly. It will not make your program easier to maintain, and will not make your program to run faster. It will not make significant hdd usage difference. Just distribute as zip and unpack where it needs to be deployed.

Classpath including JAR within a JAR


SolrCloud is detecting non-existing nodes

Question: I am having an interesting situation with SolrCloud. Basically, I dont know why, but Solr instance, which does not in the cloud normally, is displayed on SolrCloud page and also visible in live_nodes path in Zookepeer.
Here are details about the situation:
I have one Solr instance, running as a standalone application on a virtual machine, located on a remove machine. We will call it virtual1 from now on.
This is the script for running it:
java
-server
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseCompressedStrings
-Dcom.sun.management.jmxremote
-d64
-Xmx4096m
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=remotehost -jar start.jar

this instance is running on port 8983, so when you go to virtual1:8983, you see the classical admin page of solr. the rest of the configs are all the same with example solr, which comes with solr distrubutions.
Then, on my local machine (will be called local from now on), I am running my zookeeper servers on ports 2181 and 2182
then for adding my solr instances to the cloud, I am simply running one instance on my local machine and two more on virtual1 and the scripts for starting them as are below:
Solr Instance on my local:
java -Dbootstrap_conf=true -DzkHost=zkhost:2181 -Djetty.port=8984 -jar start.jar

Solr Instances on remote:
java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar

Until here, there are no exceptions or errors in either Solr or Zookeeper logs.
When I check virtual1:8985 and virtual1:8986 they are all running, as well as the instance on my local.
But when I check the cloud (both from Solr admin page and also zookeeper CLI). i can only see local:8983 and virtual1:8983 in the cloud, while virtual1:8985 and virtual1:8986 are not added at all... The weird point is that virtual1:8983 doesnt know anything about Zookeeper servers as you can see from the starting scripts above.
In addition the facts above, I have tried another thing. On another virtual machine(virtual2) which is running on the same hard machine with virtual1
, I have created Solr instances with:
java -DzkHost=zkhost:2181 -Djetty.port=8985 -jar start.jar
java -DzkHost=zkhost:2182 -Djetty.port=8986 -jar start.jar

So in this case I will have instances as virtual2:8985 and virtual2:8986, which should be in the cloud. But it doesnt happen... I can only see virtual2:8983, which does not exists in real. It simply shows the standalone Solr's port, which is running on virtual1.
can anyone explain why is this happening?
Answer: You should try to remove zookeeper data and specify -Dbootstrap_confdir=/path/to/conf/dir which pushes configs and node state to zookeeper. Also if you're running zookeeper ensemble check their state (leader or follower, or if there is no connections to node) with
echo stat | nc zk_host zk_port

And you can use zkCli.sh to see cluster state with
get /clusterstate.json

And show zookeeper config, they should look something like this:
clientPort=2181 (2182 for second instance)
server.1=zk_host:2888:3888
server.2=zk_host:2888:3888

And check both Solr and Zookeeper logs for the successfull connections.


How to get a "teaching letter" when I don't want my department to know I'm looking for a job?

Question: I am currently a tenure track faculty in a college and I plan to look for a position somewhere else. A problem is that, I can not get a teaching letter from my department (in fact I would like to keep my search confidential). Teaching letters are required in my field and I am wondering what should I do in this case? Thank you for your suggestions in advance.
Answer: As noted in my response to @strongbad, I recommend against being open about job searches if you're in a T-T position. You don't have to look far to find a lot of horror stories about chairs and senior faculty making life difficult for the 'uppity' young faculty member "who thinks s/he is too good for this school." Best to keep plans close to the chest until you're at a more definitive place in a search.
So that being said...
First, if you have a trusted friend at a nearby college who is in the same or related discipline, you might ask them to do an observation and evaluation of your teaching.
Second, your college's teaching center may be able to do an evaluation but this involves you trusting them not to spill the beans.
Finally, if this is a middle or senior position (i.e. Associate or Full) you can ask in your cover letter that because you the need for discretion because you are already in a tenure-track position, that the request letters be delayed until you make the long short list. This at least buys you time and puts you in a difficult situation only if you're a serious candidate.
I've seen this done and it's not an unusual request. You can suggest that you will provide your full teaching evaluations and portfolio in lieu of a letter until you make the long-short list.
Answer:
How to get a "teaching letter" when I don't want my department to know
  I'm looking for a job?

At the risk of stating the obvious: you can't -- at least, not if you want your letter to reflect current information about you, and not if by "my department" you mean "even one person in my department".
More optimistically however, the logic that says that it's highly undesirable to let your current employers know about your job search plans is not entirely watertight, as I explained in a past answer discussing a somewhat similar question. Your department chair would be the most appropriate person to ask for a letter about your teaching. Assuming he/she is a trustworthy, professional and ethical person, you should simply ask them not to disclose your plans to your colleagues within your department. Department chairs quite regularly deal with sensitive information of this sort, and those who are reasonably good at their jobs will have no trouble respecting your wishes.
With that said, I recognize that there are probably some unprofessional department chairs out there who would fail to respect your confidentiality in such a situation, or may even be tempted to sabotage your plans by writing a dishonest letter. If you are worried about not being treated fairly by your chair, I would suggest finding some other colleague within the department to ask for the letter from. The bottom line is you would need to be able to identify at least one person who is qualified to evaluate your teaching performance in your current job and whom you can trust to keep your plans confidential and not to act vindictively against you because of the slight conflict of interest inherent in your situation. If you can't find such a person, I'm not really sure what else to suggest. Good luck!
Answer: You say you cannot get a teaching letter from your department. Presumably this is because you want to keep the search confidential. You should consider if it really matters if colleagues find out. The only case I think it is a big deal is if you are trying to escape a toxic environment and taking a step down. Most reasonable colleagues will understand if you are trying to get a promotion, raise, better school, or better location.
Comment: I would actually recommend against being open, especially if you're at a small SLAC. You don't have to look far to find a lot of horror stories about chairs and senior faculty making life difficult for the 'uppity' young faculty member "who thinks s/he is too good for this school." Best to keep plans close to the chest until you're at a more definitive place in the search.
Comment: The faulty assumption is that colleagues are reasonable....
Comment: @RoboKaren my experience is THOSE senior faculty cause problems no matter what.
Comment: Perhaps. Sometimes it's best to keep your head down and not be visible so that their bullying goes in other directions.


Bootable Linuxmint on USB not working

Question: I am trying to install linuxmint on my new hard drive but every time I try to boot it from my USB I only get 'Reboot and Select proper Boot device' in my monitor. I tried booting the USB on my laptop and it worked but not in my PC.
Answer: What you might want to try:
1) different USB slot on the target machine
2) different USB stick
3) checking the stick's access settings
4) different version of Mint

Bootable Linuxmint on USB not working


Are aufwischen and abwischen synonymous?

Question: Are aufwischen and abwischen synonymous, or do they have distinct uses? Duden says: abwischen: durch Wischen entfernen, and aufwischen: wischend entfernen. If there is a distinction here, I do not understand it.
Answer: The object that goes with "aufwischen" is the substance that gets removed. "Abwischen" usually targets the object that is being cleaned. So if there is say milk spilled on a table, one could either talk about "die Milch aufwischen" or "den Tisch abwischen", both referring to the act of cleaning the table of the spilled milk.
Comment: You already alluded to it by using "usually", but it may be helpful to note explicitly that "abwischen" can be used both ways, so to speak. If for example some juice was spilled on the table, you can say "Ich wischen den Tisch ab" as well as "Ich wische den Saft vom Tisch ab". The English equivalents would be "to wipe down (the table)" and "to wipe off (the juice from the table)", respectively.
Answer: The prefix auf signals a direction, so for example something spilled (which trickled downwards before, to complement the picture). Ab also signals a direction, unfortunately it is not exactly downward, but may also be towards any side, as e.g. something written to a whiteboard, sweat from the forehead, dirt from a car.
I recommend looking at the Typische Verbindungen section of the relevant DWDS article or Wortprofil for more examples.
In total, I can't find an example, where both verbs could be used, so no, they are no synonyms.
Comment: aufwischen targets the (spilled) liquid. This tends to be more. While abwischen targets the item being cleaned. Not too much liquid or dust can cling on non-horizontal surfaces.
Comment: I'd say the *ab* in *abwischen* does not signal a downwards direction (as in *abwärts*) but the direction "away" from the object (as in *abgehen*, *abnehmen*, *abrücken*, *abheben*).
Comment: Ja, meist kann man beides benutzen, aber je nach dem ob und welches Objekt man in den Fokus rücken will, wischt man den Kaffeeklecks auf oder den Tisch ab. Im seltenen Fall, dass man an der Flüssigkeit interessiert ist, vielleicht Goldkrümel enthaltenden Abschliff in einem Zahnlabor müsste man "aufwischen" benutzen.
Comment: Sorry, but I do not understand what you are saying. Are you saying that, if aufwischen can be used, because the wiping is being done horizontally, then it must be used. And only if the surface is not horizontal that abwischen is then used? Why can one not substitute for the other?
Comment: The German prefix _ab-_ translates to English _off_ most of the times. I guess they are even cognate.
Answer: In addition to the differeces between surface and substance highlighted in the other answers, there is another (regionally used) construction: aufwischen can be used without the object, to designate the activity of "mopping up", i.e., wet-cleaning a floor:

Ich muss heute noch aufwischen.

And you even can "add back" the object, but this time it designates the place that is mopped:

Ich muss heute noch die Küche aufwischen.

On the other hand, you can never use abwischen without an object.
Comment: I think that's a regionalism, I've only ever heard *aufwaschen* or *aufwischen* (in your use case, not the spilled milk one) in Baden-Württemberg.


What can I make a baking form from?

Question: I'm looking for a way to make a precise form for baking bread in it. I have a gas-powered oven at home and I'd like to find an easy to shape material that could be used to make a complex form or parts of it that can be assembled and will not deform from heat or the pressure of dough. I don't think I can manage precisely shaping something as hard as metal pans, but perhaps wooded planks with some preparation could work?
Comment: What sort of shapes are you trying to make?  Rectangular?  Curves? Complex details?  Metal isn't that difficult to deal with, as you can get aluminum flashing that's thing enough to bend easily, but curves are usses, and it's so thing that I don't know well it'll take to working it to add extra details.
Comment: I'm looking at a whole lot of small details, at least 3mm wide, long prisms with side dimensions approximately 3×3×5mm, slightly convex round elements… I could use the secret object of the target shape to make a clay form by taking imprints from all sides and put the parts together instead of reproducing it myself.
Comment: 3mm x 3mm x 5mm?  That's tiny.  That's more texture than shape.  It might be small enough that you could stamp it into the metal, but that's not one of my areas of expertise.
Answer: With such tiny details, wood will give you trouble - even with very careful seasoning and greasing you will probably not be able to get the cake to release properly and without ripping the details apart.
My first suggestion would be stoneware / clay:
You can easily shape it including details and after being glazed and burned it will be ready to use. Either find a potter do do it for you (even modeling it off a positive shape you supply) or do it yourself, you just have to find a kiln you can use.
Shaped stoneware molds have been in use for centuries, here are two random examples showing rather fine details:

Or find someone who can make it in metal, but your sheets must be a) thick enough to allow for thinning at the imprints and b) made to resist warping - that's definetively a job for a professional.
Answer: A popular way of producing custom molds is to make your own silicone. For that, you buy a bottle of silicone sealant, and knead it in a bowl of cornstarch until it gets a workable consistency. It handles much like pasta dough at that point.
Use a standard rolling pin to roll out a sheet of it, and press details into it using whatever tools you can think of. If you need many repetitions of the same shape, it is best to first make a positive of the shape from something sufficiently firm, and then press it into the sheet multiple times, to produce something like the silicone molds for cake decoration pieces.
If you don't want just dimples in a flat sheet, but a loaflike shape, you can line a bowl or pan of roughly your desired shape with it, and make the surface details on the inner surface.
After you have finished forming, let it cure at room temperature for 2-3 days before using. As an upside, it is very easy to release food from it.
Make sure to use food grade silicone, not just a random one from the hardware store.

What can I make a baking form from?


How can I mount inside-mount blinds which are too wide?

Question: I bought some blinds that were made to size and my measurement seems to be off by 1/8". The blinds themselves fit - albeit just barely - but with the mounting hardware they are too wide by about 1/8". Any ideas for inside mounting the blinds still but using mounting hardware that would attach at the top instead of the sides? They are fairly big and heavy horizontal blinds, 70" wide and 2.5" depth.
Comment: I would shorten the _blinds_. Sanding a dent into the woodwork is absolutely not the right way to do it.
Comment: Can't you just trim the header bar so the brackets then fall within the correct width?
Comment: Did you ask the company who made them for you?
Comment: Pics?  Worst case, get a sanding block and sand 1/16" off the inside of the window frame where the mounts go.
Answer: You've asked an XY question, so I'll answer what you should've asked, which is how to resolve the problem so you can mount the blinds as intended.
You almost certainly have 1/8" of extra channel at one end or the other. Use a metal shears or hacksaw to shorten them that much, then mount per the instructions.
Protip: Install felt pads at the ends of the lower rails. They'll make operation smoother and prevent banging from wind, too.


Is there any decent alternative for Launchy?

Question: For many years I was using Launchy for Windows and Linux. I notice that launchy is having issues with popping up and losing focus on the input field. This happened  on Linux Mint 18, and in Debian with Gnome Wayland now.
Is there any alternative for this tool?
Answer: Try Albert.
It's an app similar to spotlight in OSX. You can easily search and launch apps with this tool.
You have to install it via a PPA:
sudo apt-add-repository ppa:flexiondotorg/albert
sudo apt-get update
sudo apt-get install albert

Slingscold Launcher and Synapse are also good alternatives.
Answer: I have not used Launchy, but from the description on the homepage, rofi may be a suitable replacement.
It does not support all the use cases of Launchy out of the box, but it can be extended with scripts. By default, it allows quick switching between windows, launching applications (from PATH or via .desktop files) or starting up ssh sessions.


What's the next number in the sequence?

Question: What is the next number in the sequence?

22 , 15 , 1 , 14 , 16 , 3 , -2 , 10 , 9 , 7 , ?

I will be adding more hints later if required :)
HINT 1:

 The required number is the last in the sequence.

HINT 2:

 Adding 100 to each number would make more sense

HINT 3:

I am new here, any improvements on the question are welcome!
Comment: @AbhishekPatel added another hint :)
Comment: hint required...
Answer: The next number is:

11

Because:

 When 100 is added (hint 2) these are the decimal ASCII codes for the letters zsertgbnmk which follow a squiggly pattern (confirmed by hint 3) across a qwerty keyboard.. the next and final letter is o which is ASCII code 111. Taking 100 off this leaves 11.

Observations:

 In general I enjoyed the puzzle. I may have added Hint 3 as part of the question either as is or referenced a 'tilde' that the pattern resembles. This would have worked well as part of a story, as the pattern adds an element of confusion (could mean a lot of things.. wave, approximately, matrices). In my opinion Hint 2 rather gave the answer away, and could have been more subtle. Reference to shifting, rather than 'add 100', could have been used with Hint 3 'Shift me and I become a wave' or something more creative. But thanks for the ride ;)
Answer: The next number is:

 444

because:

 the Lagrange interpolation of the points $(1, 22)$, $(2, 15)$, $(3, 1)$, $\ldots$, $(10, 7)$ is:

 $$\frac{23}{120960}x^9 - \frac{187}{20160}x^8 + \frac{1391}{6720}x^7 - \frac{1337}{480}x^6 + \frac{28247}{1152}x^5 - \frac{136123}{960}x^4 + \frac{15670483}{30240}x^3 - \frac{5593949}{5040}x^2 + \frac{509699}{420}x - 480$$

 and setting $x=11$ (the next $x$ value) produces 444.

What's the next number in the sequence?


Gender based validation

Question: I've a Leave form in SharePoint list.  when a female logins with her  credentials, she can be able to see 'Maternity leave' drop down. Whereas, when a male candidate logins with his credentials, he should not be able to see 'Maternity leave' from drop down option. Can any one please help how to differentiate the gender using Js/ Jquery?    (Based on Current logged in user)
Comment: I don't believe you can unless you've pushed that information out from your AD (or other system) into your User Profile Service. Why not just have a field that says "Maternity/Paternity"? Or even better, just a field that says [Parental Leave](https://en.wikipedia.org/wiki/Parental_leave) which encompasses Maternity Leave, Paternity Leave, and Adoption Leave.
Comment: this seems like a bad idea for a number of reasons. I'd go with @KGlazier's approach
Answer: I'm going to flesh out my comment as an answer, because I find your approach to be bad for a few reasons... As @Derek Gusoff mentioned.
First: Parental Leave
As outlined in the "Parental Leave" section, I'd recommend using 'Parental Leave' in place of Mat/Pat leave, as it's more all encompassing and doesn't require filtering based off gender.
Shotgut to kill a fly
Unless you have a business case that requires you to separate out maternity and paternity leaves, and filter them out based off gender, you're looking at a much more complicated form than it needs to be. Solutions like this are in essence 'overkill' in that they could be done my much simpler means.
Overhead Loading
The more JS you add to your page, the more work the browser has to do before the page is loaded and the form is ready to use. Adding one small thing like checking gender may not seem like much, but that sort of mentality can lead to slow loadtimes after adding dozens of other "small" scripts that slow down the whole site. If your solution can be done effectively without JS, try to do that. Sometimes less is more.
Biasing/Discrimination Issues
We're regularly seeing people identify as a gender other than what their sex implies. As a result, someone who you'd typically think falls under maternity leave may wish to request paternity leave as they believe it more accurately represents who they are. In the end, maternity and paternity leave tend to be the same thing with different names anyway, so why make your employees choose? Any why pigeon hole them into whatever category you think they are. I'm not sure what your work situation is like over there, but this may be a factor.

Simpler Solutions
There's a few things you could do instead of using JS. Such as one field for each ("Mat/Pat leave", "Maternity/Paternity", etc), or use the generic term "Parental Leave" instead.
Create a checkbox that your user can request (Male, Female, Other) and have the leave display based off the selection. (simpler, but may still require some coding depending on your platform)
If you need statistics on the two separate types, then leave them separate. Don't filter them, just leave it as Maternity, Paternity, Sick, ... etc. Then you're not pigeonholing anyone.
Answer: In theory you can do this if you have gender field in AD and this field is mapped in SharePoint User Profiles services.
Then you can customize the form and add js code(also you can use CSR).
But I don't recommend to do this requirement. Because not only females can have maternity leave.

Gender based validation


MATLAB GUI: How do I use pushbuttons to increment a variable in the opening function? (cursor movement)

Question: I am creating a game in MATLAB using guide for a school project and am hitting a road block implementing pushbuttons. I know the solution is simple but I am not getting it...
Here is the premise of the game (It is based on the GBA game "Advance Wars"): I am using a 10x15 grid of small square axes to display the "Map". Each axes is loaded with an image based on the map terrain, the unit occupying the space, and whether or not the pane is highlighted by the "cursor" (I have created an image for each possible situation and all the script needs to do is display the correct image).
I have successfully made a function which changes the image of a specified axes. Using this function I can make a cursor "blink" in a specified axes by changing that axes image to its highlighted variation, pausing, and then changing it back to its original image.
The user should be able to move the cursor to an adjacent axes by clicking on one of four buttons: "Left", "Right", "Up", and "Down".
Unfortunately this is where i am having problems. The cursor just keeps blinking in the same position even though i am pressing the buttons.
If someone could help I would be extremely grateful!
Here is the script in my GUI OpeningFcn, after I have initialized the image in each axes:
% Begin Game
% Values of important game variables initialized:
% Player 1 has the first turn
Turn = 'P1';

% Cursor location initialized to upper left hand corner
handles.C_Loc = [1,1];
% Game set initially to continue
handles.game_cont = 1;
% Player turn initially set to continue
handles.turn_cont = 1;
%
% Cursor movement initially set to zero
handles.C_Move_H = 0;
handles.C_Move_V = 0;
%
% Until the game conditions are met, the following loop will execute:
while (handles.game_cont == 1)

    % Reset cursor location based on which player's turn it is
    switch Turn
        case ('P1')
            handles.C_Loc = [7,3];
        case ('P2')
            handles.C_Loc = [3,13];
    end

    % Until the player ends their turn, the following loop will execute:
    while (handles.turn_cont == 1)

        % Cursor location should be changed based on button pushes:
        handles.C_Loc(1) = handles.C_Loc(1) + handles.C_Move_V;
        handles.C_Loc(2) = handles.C_Loc(2) + handles.C_Move_H;
        % Movement should be reset to avoid continuous movement:
        handles.C_Move_V = 0;
        handles.C_Move_H = 0;

        % Current map is a cell array with the same dimensions as map.
        % Each cell holds a string used to decide which image to load.
        Old_Im = Current_Map{handles.C_Loc(1),handles.C_Loc(2)};
        % Highlighted image is designated by adding "H" to string
        New_Im = strcat(Old_Im,'H');

        % User-defined function changes axes to highlighted image
        Image_Change(handles.C_Loc(1),handles.C_Loc(2), New_Im, handles)
        pause(0.75)
        % User-defined function changes axes back to original image
        Image_Change(handles.C_Loc(1),handles.C_Loc(2), Old_Im, handles)
    end

    switch Turn
        case ('P1')
            Turn = 'P2';
        case ('P2')
            Turn = 'P1';
    end
end
  end

Here is one of my pushbutton callbacks(for the "UP" button):
handles.C_Move_V = 1;
guidata(hObject, handles);

WHAT AM I DOING WRONG?! Please help...
Answer: coming late to the party:
you can try:
drawnow

if this doesn't help, you can try adding
guidata(hObject, handles);

...although I guess, that you will never see this :(. I hope sometimes this will help someone else...


Pronunciation of кафе

Question: Why the consonant "ф" in "кафе" is not soft (= palatalized), given that it is before the soft vowel "e"? Do loanwords usually break pronunciation rules?
Comment: You are correct. I was wrong - when I think about it, "январе" and "начале", "доколе" "праве",etc. also have a soft 'e', but 'Боже' and "ближе" and "дальше" have a hard one. So it's the preceding sound determines whether it's soft or hard in non-loan words. I will delete my answer as it's wrong.
Answer:
Why the consonant "ф" in "кафе" is not soft (= palatalized), given that it is before the soft vowel "e"?

Most likely because that is closer to the original French pronunciation.

Do loanwords usually break pronunciation rules?

My impression is they at least tend to break the rules more often.
By the way, Russian also seems to be better about preserving the original pronunciation of foreign names--the stress in particular--compared to English.
Comment: Russian is similar to German in that regard of trying to preserve the original pronunciation. English, French, Spanish and Italian *usually* pronounce loanwords as they would pronounce it if it was a native word.

Pronunciation of кафе


Android SparseArray with String key?

Question: I need to use a hashmap to store key / values in my Android app (potentially thousands), but I understand that I should be using SparseArray in order to save memory. However, my key needs to be a String. Is there a way to create a custom implementation of the SparseArray or some other alternative?
Answer: SparseArray is only a thing when integers are the key.  It's a memory optimization that's only possible with integer values because you need to binary search the keys.  Binary searches on strings are expensive and not well defined (should '1' be less than or greater than 'a' or 'crazy japanese character'?), so they don't do it.
BTW, SparseArray saves memory but may take more time.  A get on a HashMap should be   O(n/size) where size is the number of buckets in the hashmap.  SparseArray is going to be O(log(n)).  Which to use depends on memory and speed you need.  If you have a truly large (100Ks of entries) you'll even run into memory paging issues where the physical realities of cache misses may cause the more HashMap to perform better even if its technically worse, because it will have a max of 1 cache miss per get, while a binary search may have multiple.
Comment: Pick one- memory or speed.  You're not going to optimize for both.  If you need speed, use a hash map.  If you need memory go with something array based, a sorted list or a BST (which is what a lot of databases use, not a bad tradeoff with log(n) search and O(n) memory).  But you aren't going to be able to optimize both.  If you think that's going to be a pain point, isolate it in its own class so you can change the implementation later on.
Comment: Hmmm.ok makes sense. What is best practice when you need to key on a String? Is hashmap the most efficient way possible for speed and memory?
Comment: I'm familiar with Binary Search Trees, but it keys on integers , how would I use BST if I need to key on a String value?
Comment: also doesn't using HashMap with thosands of entries on Android have the potential to cause "out of memory exceptions"?
Comment: To key a BST on a string, you use either a string compare on each node, or you use the hash value of each string.  The second is more common, but takes a bit more storage.  Yes, a HashMap with thousands of entries could cause OOM issues.  It depends on the capacity of the hash table and how much memory the values take (not to mention the rest of your app).  Its one of those things you'd have to test and see.
Comment: @GabeSechan I have String keys only.. Then I am not able to SparseArray ahh?
Comment: No you can't. You can use hash map instead
Answer: You can use ArrayMap : ArrayMap is a generic key->value mapping data structure that is designed to be more memory efficient than a traditional HashMap
For more information : ArrayMap Doc
Answer: You can use the hashCode of string -> mystring.hashCode()
Answer: SparseArray is a specialized class for maps that have integers as the key type. They basically use that fact to save the int value instead of a reference to an Integer object (hence the memory savings).
There is nothing inherently wrong with using a  standardHashMap when the key is of any other type.
Comment: When keying on a String, is using a HashMap standard practice when: 1. I need to store thousands or even millions of entries and 2. keying on String to retrieve values?  There is absolutely no better way for balancing memory and speed?
Comment: @Mike if your strings are likely to have common prefixes, you might want to use a Radix Tree.

Android SparseArray with String key?


How to limit printer settings for networked CUPS printer?

Question: We have a CUPS based color laser printer. Our colleagues often tweak their print settings, resulting in non optimal configurations. E.g. they change the color reproduction so that even black and white text will be printed in full CMYK. This can be avoided by setting the "Color reproduction" CUPS printer setting. However, right now this can be overriden by the user. Is there a possibility to force this setting on the CUPS server?
Answer: It depends on how you're sharing your cups server. Normally, the user should not be able to change printer settings on the cups server as that typically requires admin privileges.
Comment: No, these are the normal printer driver properties. Not the CUPS settings like URI of the printer, printer driver etc.


I cannot get the grease pencil to render

Question: I want to draw an image on top of an object I have created with the grease pencil.  When I then select render the object will appear, but it will not show the lines I drew with the pencil.  How can I get the grease pencil lines to show up in the render?
Comment: Could you add an image showing your problem?
Comment: what render ?Opengl render, cycles or blender internal?
Comment: I've tried cycles render and blender render.  Showing a picture of the problem would just show an object with grease pencil lines on it in the blender edit mode and that object with nothing on it in the render image mode.
Answer: It seems that at versions of Blender prior to 2.78 the only way to directly render the Grease Pencil is using the OpenGL Render option - since this effectively renders the scene as it would be viewed in the viewport.
However, in the Grease Pencil panel there is a Convert option which can convert your Grease Pencil layers into a path or curve. This can then be used to generate geometry (eg, by setting a Bevel Depth in the curve properties) and this can then be rendered.

It does appear that there are plans for a significantly improved Grease Pencil at later versions as detailed here https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.78/GPencil and this includes an additional GP_Layer when rendering OpenGL to multi-layer EXR.


Optimal Strategy in a money compounding model where one's interest is only consolidated at a fee

Question: Say I have my main account with $ \$  10000$ that gains interest at a rate of .1% a day.  The interest collects in a separate account and I have to pay a certain fee, say $\$1$, to consolidate this interest with my main account.   What is the optimal strategy for long term gain?  How does it change based on starting amount, interest rate, and fee?
Comment: Welcome to math.SE. Please provide some more information about what you have tried already, and where you get stuck. You're likely to get a better answer that way, rather than just posting the (homework?) problem and hoping someone will answer the whole thing. Also, you tagged a lot of different methodologies, and I suspect this problem could be solved in a number of different ways. Is there a particular way you are trying to model this problem (e.g., as an LP or a dynamic programming problem)?
Comment: Not a homework problem! Just a problem that me and my friend came up with while discussing theoretical financial models.  Have no idea what techniques would be useful.  I guess a DP algorithm can solve a particular case pretty efficiently but I'm wondering if a general mathematical solution exists.  I would be happy if someone could suggest a suitable methodology!
Comment: OK fair enough. :) So you are looking for an analytical solution, as opposed to an algorithm. I'm more of an algorithm person so if it were me I would formulate it as something like a DP and then see whether there's a pattern that can lead to a proof of an optimal policy...but others will probably have better suggestions.
Comment: Also, what would be a good categorization of this problem?  Discrete math? Game theory?
Answer: Let the intitial balance be $B_0 = 10000$. Simple interest accrues daily in the separate account at the rate $r = 0.1 \%$ until you decide to pay the fee $F$ (assumed fixed) and transfer into the main account.  Thereafter the interest accrues again in the separate account but is computed on the new balance in the main account.  The process is repeated after you make another transfer.
To get you started, make the simplifying assumption that the interest is transferred at the end of every $m$-day period.
After the first transfer the balance is
$$B_1 = B_0(1 + mr)-F$$
After the second transfer the balance is
$$B_2 = ( B_0(1 + mr)-F)(1+mr) -F$$
After the $n$ transfers the balance is
$$B_n = B_0(1+mr)^n - F\sum_{k=0}^{n-1}(1+mr)^k  $$
Summing the finite geometric series we get
$$B_n = B_0(1+mr)^n - F \frac{(1+mr)^n-1}{mr}$$
You can work with this formula to explore the optimal parameter $m$ for maximizing the terminal balance assuming, for example, a given horizon $mn$.
Comment: Will ridding of the simplifying assumption (constant period) make the problem significantly harder?
Comment: The next level of complexity might be to optimize  over a set of different period lengths $m_1,\ldots, m_n$ between transfers subject to a horizon constraint $T = \sum_{j=1}^n m_j$. Now you have a multivariate nonlinear optimization problem.


How to programmatically create a topic in Apache Kafka using Python

Question: So far I haven't seen a python client that implements the creation of a topic explicitly without using the configuration option to create automatically the topics.
Answer: You can programmatically create topics using either kafka-python or confluent_kafka client which is a lightweight wrapper around librdkafka.

Using kafka-python
from kafka.admin import KafkaAdminClient, NewTopic

admin_client = KafkaAdminClient(
    bootstrap_servers="localhost:9092",
    client_id='test'
)

topic_list = []
topic_list.append(NewTopic(name="example_topic", num_partitions=1, replication_factor=1))
admin_client.create_topics(new_topics=topic_list, validate_only=False)

Using confluent_kafka
from confluent_kafka.admin import AdminClient, NewTopic

admin_client = AdminClient({
    "bootstrap.servers": "localhost:9092"
})

topic_list = []
topic_list.append(NewTopic("example_topic", 1, 1))
admin_client.create_topics(topic_list)

Comment: Using the above technique I'm able to create Topic(s), I get the response {'jjd_topic1': } but when I then List the topics the new topic is not in the list... it's like it doesn't persist it.   What could be happening here?
Comment: I also see no new topic in kafka here as a result by using the confluent_kafka answer.
Comment: I also saw similar issue, but once you produce a message on that topic, it starts showing up.
`
from confluent_kafka import Producer
producer = Producer({
"bootstrap.servers": "localhost:9092"
    })
    producer.produce("example_topic", key='key1', value='value1')
    producer.flush()
`
Comment: could you add topic configuration e.g max.message.bytes=1000000 example for confluent_kafka
Comment: Is there way to create topic using kafka default properties? I mean without explicitly mentioning partitions and replication factor!
Comment: @JamesD i think you need to wait for the operation to finish. See Basic AdminClient Example https://github.com/confluentinc/confluent-kafka-python#basic-adminclient-example
Answer: If you can run confluent_kafka (Python) v0.11.6 or above, then the following is how to create kafka topics, list kafka topics and delete kafka topics:
>>> import confluent_kafka.admin, pprint

>>> conf        = {'bootstrap.servers': 'broker01:9092'}
>>> kafka_admin = confluent_kafka.admin.AdminClient(conf)

>>> new_topic   = confluent_kafka.admin.NewTopic('topic100', 1, 1)
                  # Number-of-partitions  = 1
                  # Number-of-replicas    = 1

>>> kafka_admin.create_topics([new_topic,]) # CREATE (a list(), so you can create multiple).
    {'topic100': <Future at 0x7f524b0f1240 state=running>} # Stdout from above command.

>>> pprint.pprint(kafka_admin.list_topics().topics) # LIST
    {'topic100' : TopicMetadata(topic100, 1 partitions),
     'topic99'  : TopicMetadata(topic99,  1 partitions),
     'topic98'  : TopicMetadata(topic98,  1 partitions)}

And to delete kafka topics using that same kafka_admin object, this:
kafka_admin.delete_topics(['topic99', 'topic100',]) # DELETE

I hope this helps. \(◠﹏◠)/
Comment: When I open a python shell and I type your code in line for line it works 100% - I create the topic and when I list all topics it it there. But when I put it in a .py file and run the file, for some reason it does not create even though it does not give an error. If I copy every line in the file, and paste it into a python shell, then it creates again. The exact same code works in the shell but not in a file...
Comment: Yes, I have experienced that first hand - the program runs, and the client returns information about the topics that got created {'jjd_topic1': }, but when I run the list, they are not there.   Like they never got committed.   Why would that be?
Comment: Super bizarre -- @AlfaBravo I am experiencing the same issue. If I run as a .py file it doesn't create the topic, but If I go into a python shell and do it it gets created...
Comment: P.S. Where possible, I prefer the `confluent_kafka` library to the `kafka-python` library because the former is a "thin wrapper" (quoting the Confluent literature) over the `librdkafka C/C++ library`; and therefore performant. Though, in fairness, `kafka-python` is more Pythonic and both libraries work well.
Comment: @AlfaBravo Hmmm... Are you sure the program is running at all? Try inserting `print('hello')` statements around the code to check.
Answer: It looks like you can can use the following to ensure that your topic already exist (I assume you are using the following kafka python implementation):
client = KafkaClient(...)
producer = KafkaProducer(...)
client.ensure_topic_exists('my_new_topic')
producer.send_messages('my_new_topic', ...)

Comment: That won't work. `ensure_topic_exists` only works with the auto topic creation enabled. https://github.com/mumrah/kafka-python/blob/cd81cf0ec8c1b7e7651374c5d1cbd105d003d352/kafka/client.py#L305-L306
Answer: It seems that there is no kafka server api to create a topic so you have to use topic automatic creation of the or the command line tool:
bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1 --topic test

Comment: No. You use the AdminClient per NYCeyes's comment.
Answer: It's already too late. I don't know about a command for explicit creation of the topics but the following creates and adds the messages.
I created a python kafka producer:
prod = KafkaProducer(bootstrap_servers='localhost:9092')
for i in xrange(1000):
    prod.send('xyz', str(i))

In the list of Kafka topics xyz was not there previously. when I did the above method, the Python-kafka client created it and added the messages to it.
Comment: Actually the broker created the topic and only because auto.topic.create.enable was set to "true". All topics created this way will have the default configuration with may or may not be good for your use case.
Answer: from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
topic = 'topic-name'

producer.send(topic, final_list[0]).get(timeout=10)

Comment: What is `final_list`?
Comment: @BorisTsema

Please refer: https://github.com/dpkp/kafka-python/blob/master/kafka/producer/kafka.py#L516

It's a topic value, if I'm not wrong.
The data that you want to send to consumer.
Answer: The AdminClient API needed to do programmatic topic creation and configuration was just added in Kafka 0.11 (initially for Java)
See https://cwiki.apache.org/confluence/display/KAFKA/KIP-117%3A+Add+a+public+AdminClient+API+for+Kafka+admin+operations
It is expected that non-Java client libraries will add this functionality as well over time. Check with the author of the Kafka Python client you are using (there are several) to see if and when KIP-4 admin protocol support will be in the API
See https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations


Is it possible to do systems programming in J or something close to it?

Question: just wondering if this is possible? if so id like to see some online texts about it b/c I googled and couldnt find any haha, thanks
Comment: book about J , or Books about making systems with J
Answer: I'm tempted to say no. While technically anything is possible, J will need its interpreter, so you've got at least that much to consider. J also has sluggish memory access time, making it not the ideal platform to do system programming.
So the real answer would be yes, it can, but it's far from ideal.
Answer: It depends on what you mean.
If you do not mind putting a j interpreter into your system (along with whatever dependencies it needs), you could do some systems programming.  However, the interpreter overhead would not be trivial, I imagine.
Traditionally, you would compile systems code, but no one has written a J compiler yet.  (And, a full implementation of J would require an interpreter in some cases -- but hypothetically speaking you would not have to code in a way which requires an interpeter.)


How common is the word 'den' (for a room)?

Question: I was wondering how common the word 'den' is in English speaking countries (I'm refering to the definition like on wikipedia for a room: https://en.wikipedia.org/wiki/Den_%28room%29)?
Do people use it to describe a room, or is it more associated to other things, like an animal's den?
Thank you.
Comment: Yes.  That is to say, it is commonly used in both senses.  People in the real estate business would more likely use it the former sense; zoologists more likely in the latter. Which one is "more common" is not really knowable, and, in my opinion, not worth being concerned about.
Comment: @Brian I think it _is_ knowable, just it would take a lot of resources to do it.
Answer: People will have no difficulty understanding the word "den" and the context will determine if it means a room or an animal's habitat.  Really, the former is just the loose application of the latter to humans; it's somewhere cozy to retire to for both.
The OED lists the animal first, but the other meanings are shown as just sub-versions of the same meaning.
Comment: OED lists meanings in order by chronological appearance, not by frequency of use.


On Linux there is a 3GB/1GB kernel option. How do I do this in Windows 7 32-bit?

Question: I have 4GB RAM installed. PAE is off. How do I tell the Windows 7 32-bit kernel to allocate 3GB virtual paging area to user mode and only 1GB to kernel space?
Answer: Start a command prompt with Administrative privileges (write cmd in the Start search and right-click cmd.exe and select Run as Administrator). Write the command bcdedit /set IncreaseUserVA 3072 This increases the user address space to 3GB and shrinks the kernel address space to 1GB.
Do take care: If you have a badly coded driver this change can cause it to crash.
Answer: On Windows, you can add the /3GB flag to your boot.ini file to turn on OS level support.  However, this will only allow applications that also have the appropriate flag (IMAGE_FILE_LARGE_ADDRESS_AWARE) turned on in their process header (see here for more details).
Comment: This won't work on Windows Vista and higher. They don't have boot.ini. But that link does explain how it works on Windows Vista so thanks.


Can Reverse Engineering produce code in a different language than the one the program was originally created?

Question: Does Reverse Engineering always produces the source code in the same language the software was originally written?
For example, if the software program(.exe) been reversed was written in C++, the output of the reverse process would necessarily be C++ source code?
Comment: i think C would be the most convenable and lowest human-readable level language that a debugger can convert whatever language a code is written with, I think , in more brief terms, any language can be converted to C besides the original soure-compiled language (concrete example: hexrays), but C could not probably be converted to higher levels like python, pascal etc
Answer: Reverse engineering is the process of figuring out how stuff works. The output format of a reverse engineering session is not dependent on the original language in which the target was written, but rather is dependent on the purpose of the session (porting to a new system, stealing a competitor's algorithm, explaining to executives how a malware sample works at a high-level, etc.).
The final product of a reverse engineering session may be a human-readable report, or pseudo-code, or a data-flow diagram, or a slide show presentation, or a reimplementation of the target in any language the reverse engineer wishes to use.
Comment: It may also be source code. For instance,**.exe** files consisting of MSIL code can be converted back into various .NET source languages.


C/C++/C# programming for interfacing USB to PIC microcontroller

Question: I am a computer sciences student looking to do some PIC microcontroller programming for some small home projects . I am fluent in C/C++/C#/Java and i also have an understanding of programming microprocessors(ALP - the 8086 ) . I plan on building a USB interface to control some lighting and a motor in one of my projects . I have the circuit components and the layout planned out .  I have the PIC 18f4550 in  mind and I have already downloaded the libraries from the microchip website . The only problem is I don't know what code to write for this .  The libraries are huge and I don't really need to go into all the details(that's what I think) . I tried finding other resources but it appears that the PIC is old and most of the links off of Google have only been dead ends . Does anyone know of a blog , a video , or anything that could help me get started ? I'm hoping it's possible to do this using one of the languages I mentioned above .
Comment: Did you take a look at the examples provided with the Microchip usb library? When you google, try not to search for only PIC18f4550, but for PIC18f USB examples in general. The PIC18 devices are similar enough to transfer (most of the) USB code from one to another.
Comment: If you don't mind not coming up the USB learning curve, using a FTDI USB chip/connector/cable may be the easiest way to get a PIC up on USB. http://www.ftdichip.com/FTProducts.htm and http://www.digikey.com/PTM/PTMPartList.page?site=us⟨=en&ptm=24701
Comment: No one mention MPLAB X here? Am I missing something?
Answer: You should first take a look at the examples provides with the Microchip USB Framework (part of the Microchip Application Libraries). The docs give some descriptions on the individual demos. The helpfile itself is in my opinion a little bit hidden, but you can find it at
<YourInstallLocation>\Microchip\Help\MCHPFSUSB Library Help.pdf
To get started and depending how you want your device to appear on the host pc, I would go through the code of the following demos:

Device - CDC Basic Demo
Device - HID - Custom Demo

Both state in the description that they are able to run on the 'Low Pin Count USB Development Board', which is using a PIC18F14K50. The PIC18F4550 should be similar enough to allow you to transfer most, maybe even all, of the code.
Another approach, as kenny recommended, is to use a IC that handles most of the USB stuff for you. A popular choice are the ones from FTDI. When you take the FT232R, you hook the UART of your microcontroller to the IC. Writing code to transmit / receive data is now much simpler.
Similar to the FT232R is the IC MCP2200 manufactured by Microchip. Which one you choose is a matter of taste (and maybe driver support).
Comment: +1 for offloading the pain to an FTDI chip. Life's too short for rolling your own USB stack unless you're being paid to do exactly that and they won't take FTDI as an answer. There are far more 'fun' problems out there, like how to fit a housebrick up your nose.
Answer: Building a PIC18F USB Device
I've used his C# library and it works very well and it's easy to use. It can be easily expanded or modified to meet whatever needs you have. His tutorials are also very thorough and easy to understand and he usually replies quickly on the forums if you have questions.
As PetPaulsen already mentioned, look through all the code and sample projects provided by Microchip. You do not need to understand how the USB protocol works. You really only need to modify the main file and usb_descriptors file to get things working.
Answer: You may try code from http://tomeko.net/miniscope.php?lang=en
There is slightly simplified "Generic HID Demo" from Microchip samples (some redundant multi-board code sections removed) for older MPlab + C18 and console-based Code::Blocks project for Windows (toggling LED, reading pushbutton, reading ADC). If you don't need lots of GPIO try smaller PIC18F2550 instead. That said I don't think these MCUs are competitive at the moment with for example STM32F042F (TSSOP20 package, USB device with no external crystal, more memory, USB bootloader in ROM) or STM32F103 (mini-boards are available just for $4, UART-based bootloader).
Note that for PIC18F2550/4550 you would probably need to buy programmer (unless you have some old PC with proper RS-232 to connect simple JDM-style programmer).


Show images from hash tag on instagram

Question: We are building an app where we would like to show images from Instagram from a specific hash-tag - because of the new API restrictions this is not possible.
Instagram mention that one should find a third party provider to provide such service - I can't find any - is there somebody who knows what possibilites there are?
Answer: I found that Zapier can do this for you:
https://zapier.com/zapbook/instagram/
Free version has some limitations in the number of "Zaps" (= executions) of the script, but it may be enough, or you can switch to a paid plan.
Destination can be almost anything (for example a Firebase db or a Dropbox folder)

Show images from hash tag on instagram


Do SD cards use a buffer or cache?

Question: I'm asking this in relation to a question here, which may clarify the context.  I'm trying to ensure that writing repeatedly to the same apparent place ("apparent", since I am taking wear leveling into account) will not result in the use of some small higher quality storage in the card (and hence, problematize testing the efficacy of the wear leveling).
Comment: Data is always buffered during transfers, typically the entire data block.  Since ECC is involved, on a read operation the block has to be read into local RAM, checked for errors, apply the correction if necessary, and then transfer the requested block to the host PC.  This buffering should not be confused with caching.  According to [this site](http://www.bunniestudios.com/blog/?p=918) some uSD cards have 32-bit ARM processors.  But your questions seem to presume that all SD cards are constructed equally and will perform equally, which is unreasonable.
Answer: Common sense tells me that there must be cache of size of at least one erase block. Otherwise data would be lost on writes - the whole erase block (usually 128-512KB these days afaik, although it may be smaller) must be erased and then rewritten with the updated content.
Comment: I think you're right. I re-ran the test using a significantly larger chunk (16 MB), which must be enough to get around this on a $5 4 GB card.

Do SD cards use a buffer or cache?


How to enable Realtek 8188ee driver on CentOS 6.7?

Question: Unfortunately I installed CentOS 6.7 on a basic HP laptop without checking the wifi capability... which is a Realtek rtl8188EE. I've done some research on that particular driver which seems to have gone away. I'm about to try an rtl8188CE, and go from there. I'd already installed CentOS 7 on the box which actually did recognize the driver automatically. Which is great, except that I realized that I didn't really want to go to 7 yet because we only have RHEL 6 at work and need the OS cheaply (!) to work on my cert at home. So I went back to 6.7. Anyway without going out and buying a whole 'nother laptop, anyone ever had any luck with this? Thanks!
Answer: You need the rtl8188efw.bin firmware file to be somewhere in /lib/firmware.
If it isn't packaged for Centos 6.7, you can get it (along with a lot of other firmware) with:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git

Then copy it into /lib/firmware/
BTW, on my debian system, it is in the firmware-realtek package with filename /lib/firmware/rtlwifi/rtl8188efw.bin
If it isn't being automatically loaded at boot time (it should be), you also need to ensure that the rtl8188ee kernel module is being loaded.
Comment: Ah, thanks. Hopefully I can get it done this weekend; I'd searched around git but hadn't come up with this particular firmware. I'll give it a shot and let you know.
Comment: This is really old, sorry but I haven't gotten to this yet! It sounds like what I need to do, thanks! I'll mark this answered.


How can I tactfully ask a stranger to cover mouth when coughing?

Question: Presume that I can't flee the stranger, who's so nearby (e.g. airplane seatmate) that I can feel her coughs every 5 minutes.
Comment: I agree: a coworker isn't a random stranger on a plane. You would probably not talk to them the same way. **BUT**: *what's wrong with just politely and nicely asking?*. We won't put words in your mouth. Well, at least, we shouldn't :)
Answer: I think simply asking them politely should be enough, something along the lines of :

Hi, so sorry to bother you, but could you cover your mouth with your hand when you cough ? I'd be really grateful if you did.

Usually, if the person doesn't lack any sense of courtesy, they should be happy to oblige.
If they don't though, and assuming it is possible you should try to move away from them. For you example (a plane) you could ask a hostess if it is at all possible to switch seats.
If it isn't then you might need to brace yourself for a long, and uncomfortable journey.


How to install Ubuntu while keeping my files' backup disk partition I made with windows (D:)?

Question: So I have my 2TB disk into two partitions (C:) and (D:), I don't care about (C:) which hosts windows. I want only Ubuntu as an operating system while keeping everything at the (D:) partition.
Any idea if that is possible?
Answer: A) UEFI/BIOS

Set to "UEFI mode only" (no legacy/CSM).

Disable "secure boot"

Disable "Intel Rapid Start" (if equipped)

Disable "fast boot" in UEFI (note this is different than the "fast startup" setting in Windows 8/10). The options in your UEFI/BIOS might say something like Full/Minimal/Automatic for boot mode. Select Full (or thorough, or complete, etc whatever your UEFI vendor has chosen to call it).

B) Advanced Power Options (Fastboot)
Disable fast startup in Windows 8/10 under "advanced power options". Restart the computer to ensure that this subsequent boot and the next reboot/shutdown will be in "normal" mode.
C) Bitlocker (For Windows 10 Pro)
If you have Windows 10 Pro and encrypted the drive with "Bitlocker" remove the encryption.
D) Rufus / Bootable USB stick
Use Rufus to create a bootable USB stick with your choice of Ubuntu based distro. Make sure in Rufus that you CHOOSE the option UEFI/GPT only. This ensures the Linux environment boots only into UEFI mode during your install.
E) Boot Menu
Reboot your computer and press key for one time boot menu (Dell is typically F12). Select your USB stick from the boot options.

Note:
Make sure it says UEFI in front of the USB stick in the boot menu.
If not, return to Windows and recreate your USB stick with Rufus ensuring you choose the UEFI/GPT (only) option.

F) Boot into USB Stick
Boot into Linux live environment and begin the install.
G) Installation type
When you get to the installation option, choose "Something else" at the bottom of the Ubiquity installer.
H) Create partitions
Find your C: partition. It will be called something like /dev/sda1
Select it and press the "-" sign to delete it and create "free space".

1st Partition / Root (All the software you install are stored here)

Select "free space" that you created by deleting the C: drive.

Select "+"

Partition the target drive as follows:

Size: min. 10 GB (25GB+ recommended. I have 40GB)
Type for the new partition: Primary
Location for the new partition: Beginning of this space
Use as: ext4
Mount point: Choose "/"

2nd Partition / Swap (Only needed if you want to Hybernate)

Select "free space"

Select "+"

Partition the target drive as follows:

Size: Depends on your RAM. See Swap FAQ.
Type for the new partition: Primary
Location for the new partition: Beginning of this space
Use as: swap

4th Partition / Home (Only needed if you want to keep your personal files separate from / Root partition. It seems you save your personal files in D: so you may not need this.)

Select "free space"

Select "+"

Partition the target drive as follows:

Size: Remainder of "free space" or any size you want. (You will need to leave some space if you want to make another partition. Of course, you can always shrink "/home" partition later)

Type for the new partition: Primary
Location for the new partition: Beginning of this space
Use as: ext4
Mount point: Choose "/home"

I) Installation & Reboot

Finish the installation process and reboot (removing the USB stick when your UEFI/BIOS screen logo appears).

J) Upon reboot

Boot into Linux

Install any updates

**K) Setup Automout for D:

Open the "Disks" utility.

Select the partition you want to automount. (D:)

Click the icon with 2 cogwheels. (Additional partition options)

Select "Edit Mount Options".

Turn the "User Session Defaults" option to "Off".

Check the box "Mount at system startup" Make sure "Show in the user interface" is also checked.

Replace the line that says nosuid,nodev,nofail,x-gvfs-show to users,uid=1000,dmask=027,fmask=137,x-gvfs-show,utf8.

Change the "Mount point" to something less complicated like /mnt/D or /mnt/MyFiles.

Change the "Filesystem Type" to ntfs-3g.

Click "OK" and you are all set!

Borrowed and edited from user613363's answer. (Dual Boot Windows 10 and Linux Ubuntu on Separate Hard Drives)
Comment: If this was useful to you, please [upvote](//askubuntu.com/privileges/vote-up) this answer for future readers and consider marking it as [accepted](http://askubuntu.com/help/someone-answers).
Answer: Then simply:

boot the Live USB, choose the something else option and
format what on Windows is C:. It might be called /dev/sda1 on Linux.
Optionally, resize the partition to leave some space at the end of it for the Swap partition (match how much RAM you have).
Format the resized partition as ext4 and set the mount point to /.
Create a Swap partition in the empty space left by resizing (if you chose to do it).
Proceed with the installation.

However, be warned: Installing an OS and partitioning carry a small risk of data loss. It is HIGHLY RECOMMENDED to have a backup of your files on D: elsewhere to be on the safe side.


How many volts can a 1 Watt 8 ohm speaker take?

Question: I am working on an Arduino project and the sound is too low because the output pins on my Arduino UNO is only 40 mA. I can hook up an NPN transistor to amplify the sound, but I don't want to blow the speaker. How much voltage can a 1 watt 8 ohm speaker handle?
Comment: Try an answer for yourself.  Assume the speaker is a 1 Watt 8 ohm resistor.
Comment: There has to be a better answer than "it's complicated"
Comment: How would you hook up the transistor?
Comment: Arduino output to base, collector to power and emitter of positive speaker lead
Comment: @jardane Using that circuit might will put a standing DC bias current through your speaker that may also harm it. If it survives, it's likely that the 1 watt capabilities of the speaker may need to be reduced accordingly. So, in a nutshell, it's difficult to answer your question with any measure of confidence.
Comment: @Andyaka - many, many years ago, I was told loud speaker *impedance* was rated with a sine-wave test signal, and was *not* DC resistance. Do you know, is that true?
Comment: @gbulmer I've measured 6 ohms dc resistance on an 8 ohm speaker. This of course does not contradict your recollection R+jwL etc...
Answer: It can take 1W of power.  Voltage is not the problem.
Any more than 1W and the coil will overheat and melt.
It is 8Ω.  Look at it from the point of view of DC.  That means we can use simple Ohm's Law to examine it.
You have 1W and 8Ω.  There are two formulae that incorporate those two values:
\$P=I²R\$
and
\$P=\frac{V²}{R}\$
We're interested in voltage, so rearrange the second to give:
\$V=\sqrt{P×R}\$
So 1W through an 8Ω load must be 2.83V.  Rearrange the current one, so it is:
\$I=\sqrt{\frac{P}{R}}\$
and we get a current draw of .354A, or 353.55mA.
The fact that your IO ports are limited to 40mA (That's the absolute maximum by the way - Atmel don't recommend more than 20mA), means:
\$P=VI = 0.2W\$, which is why your speaker doesn't melt and isn't very loud.
So what do you want?
Well, you want 2.83V across your speaker with unlimited current available, or unlimited voltage available with 353.55mA current.  The former is more achievable, so we'll do that.
A simple voltage divider can limit the voltage to 2.83V.  The formula
\$V_{OUT}=\frac{R_2}{R_1+R_2}V_{IN}\$ can be re-arranged to give:
\$R_1=R_2(\frac{V_{IN}}{V_{OUT}}-1)\$
We know R2, that's 8Ω, Vin is 5V and Vout is 2.83V.  So substitute the values and we have:
\$R_1=8(\frac{5}{2.83}-1)\$
which gives us 6.134Ω. The closest E24 would be 6.8Ω, which would be ideal.  Of course, you need a nice chunky resistor, at least 1W, preferably a little more.
Your schematic could look like:

simulate this circuit – Schematic created using CircuitLab
Or, for the more traditional class A amplifier arrangement:

simulate this circuit
Of course, your 6.8Ω resistor would then have to cope with the full 5V across it, so would need to be a minimum of 3.6W.
Comment: An 8-ohm speaker rated at 1 watt can have a sinewave amplitude of 8 Vp-p before it takes over 1 watt. You have a 5V supply and are suggesting that a 6.8 ohm resistor be used to restrict the voltage to ~2.83 volts (which happens to be the RMS equivalent of a sinewave of 8Vp-p). I think I am confused by your logic. From a 5 volt power rail, the maximum voltage that could supply the speaker is 5Vp-p which is an RMS of 1.77V and therefore a power of about 390mW into an 8 ohm load.
Comment: Maybe I am wrong, but I thought the speaker needs to be connected to the emitter pin from the PNP not the collector.
Comment: That is an NPN there, not a PNP.  If it were PNP then the circuit would basically be upside down.
Comment: Oh did not see that.
Comment: You are all talking ten levels above my understanding I am still learning and you guys are talking so far over my head.
Answer: Power = voltage x current
current = voltage / resistance
power = voltage x (voltage / resistance)
voltage^2 = power x resistance
voltage = sqrt(power x resistance) = sqrt(1 * 8) = sqrt(8) = 2.83 V
Comment: Glad to see you got the same voltage out as me - makes me happy my maths is right ;)
Answer: It's not an easy question, because speaker ratings are sometimes specified as peak power and sometimes as RMS (average) power: http://www.bcae1.com/speakrat.htm
Either way, for calculating the maximum current or voltage, you can assume the speaker acts like a resistor, so P=U^2*R. For U, you will have to plug in either the amplitude or RMS value, depending on the speaker rating.
Also, amplifying with a single transistor can lead to lots of distortion, except if you're using a square wave signal. Read up on some basic amplifier circuits such as the "common emitter amplifier" or operational amplifier circuits.
Answer: If you are dc connecting the speaker to an NPN transistor's emitter and feeding the base from an arduino (presumably 5v logic), it's likely you could see a peak DC voltage of around 4.3 volts across the speaker so it needs to be biased up correctly and then it will sit around 2.2 volts in quiescent conditions (in order to maximize the undistorted AC signal applied to the speaker).
This 2.2 volts forces a dc current thru the speaker of about 370mA - this is based on the likely dc resistance of the 8 ohm speaker being about 6 ohms. This is generating a power (heat) of 0.806 watts therefore the "spare wattage" remaining for audio is slightly less than 200mW. This is equivalent to a sinewave amplitude of 1.265 volts RMS or about 3.6 volts p-p.
If you used a push-pull circuit and a capacitor decoupler, a 1 watt speaker at 8 ohms impedance could be expected to handle about 2.828V RMS or 8 volts peak to peak. The better circuit would be about 7dB louder and have less distortion.


A good guide for brand new EVE online players?

Question: Just started playing with my brother and we both are brand spanking new to the game. Just wondering if there was any experts out there that have any helpful links or tips. Thanks guys.
Answer: Hook up with a corporation called EVE University. They have been around forever and help new players with learning EVE. That one bears repeating: JOIN EVE UNIVERSITY.
Go through the tutorials.
Starting out specialize--you aren't going to be able to effectively fly all the ships a vet can soon, but if you focus you can get 90-95% effective in relatively short periods of time.
Get into a corp. EVE is a fun, but huge and directionless game. A corp will help you define your goals and keep you interested in playing.
EVE U, though I think is the biggest one.
Don't fly what you can't afford to replace.
And EVE has some of the highest highs and lowest lows you will feel in a game--and much like real life--there can be lots of awaiting in between.
EVE is not a game for fair fights.
Comment: If there is a fair fight in EVE at least one of the Fleet Commanders (FCs), if not both FCs screwed up.  EVE is a more darwinistic and less forgiving game than WOW, but for that it is a much more intense game and fosters stronger bonds between the players. Its radically different than WOW. Give it time and get into a corp (an active one) to give it direction and support and structure. And when I am flying a 250M ISK PVP ship, I am not looking for fair fights--I want to come home with my ship--and not have it be a coin toss.
Comment: Eve University has all of that and more. They have scheduled classes online, with a teacher on TeamSpeak. A community of teachers and students who are always available to help with whatever question you have.
Comment: Those are really good tips there sir, I have played for a solid 6 hours and I hit one of those lows you referred to. /sadface. I have another month to give it another try but really it makes me want to return to the WoW addiction. I'm going to try and give it some space and then hit up your tips and see if they light the fire once again.

Also, fair fights REALLY don't exist and I think that is what really bothers me. But I wont delete this yet. Thank you.
Comment: Of course fair fights exist in EVE, but only when you've got the biggest guns! If there's one thing I learnt playing EVE it's to never bring a knife to a gunfight. Having said that, there's very little more fun than being the stinging mosquito in an Assault Ship wearing down capital ships that can't touch your speed or manoeuvring!
Comment: Question - what do you get *out* of EVE University? PvP experience? Combat theory and practice? Economic skills? Thinking about signing up to it - on my third account reactivation now and really want to stick it out this time! :)
Answer: You could have a look a the Industrial Sized Knowledge Gide, aka ISK guide, which can be found here. You'll find there a lot of good tips about almost anything you can do in Eve.
Comment: Worth noting, is that there is a new version of this guide, which is recommended reading to anyone new to the game, or even old people who wish to expand into areas they haven't played much with.


How best to digitally copy glass negatives?

Question: I recently bought my first (5x4) glass negative on an auction site.  I assumed it would be trivial to scan the plate then invert the negative on gimp.  Well, it is trivial, but I'm not getting results I like.  I scanned with emulsion down and up, at 600 DPI, and also photographed it with my DSLR on a tripod (timed release) with a light board.  I can never get the image as sharp as the apparently casually photographed image used to sell it which has someone holding the plate with apparently just bright ambient light behind it.  Anyone have any experience with this?
Comment: Thanks much for the time and detail in your answer.  I experimented some more and found that indeed a macro lens makes a huge difference.  I don't have the flash setup you mentioned (I'm more of a hobbyist).  The flatbed scanner did not work well I suspect due to refraction in the glass negative.  Taking a digital picture of the negative may add some parallax, but can't be helped.
Comment: Flash makes a big difference.  Godox flash and transmitter aren't too expensive.  They would be worth getting for the ability to also use bounce and fill flash.  Alternatively, you can get a cheap pre-thyristor flash (full power only) and put it on a cheap wireless transmitter.  (But don't put old flashes directly on modern cameras because of potential for high-voltage damage.)
Answer: I have not scanned glass negatives, but this is what I would do based on scanning ordinary film.
With the flatbed (with transparency adapter): Emulsion down, lifted off the scanner bed with sheets of paper or card stock.  Look at existing film carriers for your scanner for an idea of how far the image has to be from the scan bed.  The space is needed because the scanner is focused slightly above the glass plate.  Emulsion up won't work because the thickness of the glass will hold the image above the scanner's DOF.
With an interchangeable lens camera:  I would prefer using a mirrorless over a DSLR because mirrorless cameras have focusing aids, like magnification and focus peaking.  Some newer DSLRs might have similar features or custom firmware (Magic Lantern) to add them.

Use a macro lens.  This is needed for the flat field.

Set the negative holder far in front of a reflector, white wall, or soft box.  Set up a flash unit with remote trigger.  Imperfections in the reflector will show up in the image if the negative is too close.
While you can use ambient lighting with longer exposures, the quality of light from flash is significantly better.  Flash also eliminates any effect camera shake might have.

Set the camera parallel to the negative holder.  Put a mirror in the negative holder and center the lens view of itself in the mirror.  Then lock everything down so nothing moves.  Replace the mirror with the negative.  Depending on your camera, you may have to turn image stabilization off.

With aperture wide open, focus on the grain.  Hard light at an angle can make grain easier to see.

Shield the area around the negative to prevent stray light from reaching the lens.  Lens hood may also be helpful.

Stop down to F5.6-8.  Shut off ambient lights.  Take photo.  There shouldn't be any stray reflections because the only light reaching the lens is passing through the negative from behind.

As for whether to shoot the emulsion or base side, with ordinary film, I've tried both.  When shooting the emulsion side, the image is sharper, but lighting isn't as even and color can be off because the base reflects light.  When shooting through the base, imperfections in the base soften the image, but lighting is better because the emulsion scatters light.
Comment: Many DSLRs have a "liveview" mode allowing you to focus on a zoomed image of the sensor on the rear screen.
Comment: Newer....My ancient 450D (announced 2008) already has it...
Comment: With my EOS 70D (a bit more recent) I have phase detection even in liveview ("dual pixel"). Don't even need to zoom (when I use the zoom I'm doing the focus manually).
Comment: @xenoid On the cameras I've used phase detect doesn't focus accurately on the film grain.  So manual focus is needed when photographing film.
Answer: A macro lens would help at the close focus distance needed. Or alternately, a cell phone camera will be fairly sharp up very close if you can hold it still.
But the basics are that film and glass plates are to be viewed when lighted from behind.  Scanning on a flatbed would just see light reflected from the plate, instead of light coming through the image emulsion. However some flatbed scanners offer a film option (lighting from behind, from a light in the scanner lid above) which would be satisfactory.
Or you might just tape the negative to a window pane, illuminated by the outside diffused light from sky, and photograph that from the indoors side.
Comment: Many modern flatbeds have a "transparency lid" that backlights film etc.  I've been using flatbed scanners to scan my negatives since 2003 (the one I had then was a 1998 model).


ActiveX controls not working in IE8

Question: Internet Explorer blocked ActiveX control downloads for trusted sites even after the following changes in IE8.

Added my site as Trusted site.
Went to Tools - Internet Options - privacy - unchecked "turn on pop-up Blocker".
Went to Tools - Internet Options - security (tab) - Trusted site and internet and local internet

And I made the following changes:

Allow previously unused ActiveX control to run without prompt ...* - Enabled
Allow Scriptlets - Enabled
Automatic prompting for ActiveX controls - disable
Binary and script behaviors - Enabled
Download signed ActiveXC controls - Enabled
Download unsigned ActiveXC controls - Enabled
Initialize and script ActiveX controls not marked as save for...* - Disabled
Only allow approved domains to use ActiveX without prompt - disabled
Run ActiveX controls and plug-ins - Enable
Script ActiveX controls marked safe for scripting* - Enabled
Downloads - Automatic prompting for file downloads

After I made this change, still IE blocked me to download ActiveX control and show the pop-up in the top of the website..
So any one please help me to fix this issue.
Thanks in advance.
Answer: check this link
and also you have to check folllowing
under the Scripting enable the Active Scripting.
Go to privacy tab Disable pop Up blocker.

ActiveX controls not working in IE8


Why is it possible to have a non-significant MANOVA but multiple significant univariate ANOVAs?

Question: The only source I have for this being possible is this wikiversity page on MANOVA, but it does not explain why it is possible.
Comment: MANOVA consumes more _df_. MANOVA also assumes multivariate normality which is more strict than univariate normality of ANOVA.
Answer: What happens here is similar to the (easier) situation with one-way ANOVA vs multiple $t$-tests.
If you have multiple (let's say $N$) groups of observations and you start comparing them with pairwise $t$-tests to find if some of them are significantly different, you are going to make $\frac{N(N-1)}{2}$ tests; even under null hypothesis of all groups being the same you would expect to get e.g. $p<0.05$ in 5% of the cases. These would be false positives. Now if you perform an ANOVA instead, you will get one single $p$-value instead of $\frac{N(N-1)}{2}$ of them, and this $p$-value is more likely to be non-significant (under the same null hypothesis). That is basically the reason to do ANOVA in the first place.
In other words: you can have non-significant ANOVA, but multiple significant pairwise $t$-tests.
In exactly the same way, imagine now that you have $M$ observed variables instead of only $1$. If you run $M$ separate ANOVAs, you are going to get $M$ separate $p$-values, and of course here again you would expect to get 5% of false positives. Running a single MANOVA, on the other hand, will give you a single $p$-value, with less danger of producing a false positive.
In this case you will have a non-significant MANOVA, but multiple significant ANOVAs.
Answer: Simply put, the computations are different. The MANOVA omnibus test uses the correlations among DVs. Conducting separate t-tests does not. Therefore, MANOVA doesn't always "agree" with the individual t-tests.


Psalm 121 - when is it said?

Question: What is typically the association for Psalm 121? Is it associated specifically with the yamim noraim (Days of Awe), or is there another association?
Comment: I have heard it said during difficult times year round.
Comment: Do you have any reason to suspect this particular chapter (out of 150 options) has any specific associations?
Answer: The general theme of the Psalm is asking for help and safety from dangers and pitfalls. During 10 days of Teshuva, we are "beinonim" - i.e. - the fate of our future awaits in G-d's hands (a recurring theme mentioned esp. in UN'Taneh Tokef, among other prayers.) We ask G-d to listen to us and we pray that He will seal us in the book of life. We pray that we be successful in our endeavors, but we also need G-d's help to do that - a theme mentioned in this Psalm.
Another concept is alluded to by Torah Temimah which says that this Psalm is a reference to Abraham praying for G-d's help for a miracle to occur so that he wouldn't have to sacrifice Yitzhak. The theme of the Akeida and Yitzhak is associated with Rosh Hashannah.
Although not mentioned in Torah Temimah (at least, I don't see it, there,) I assume that the "mountain" referred to in the 1st verse may be an allusion to Mt. Moriah.
Comment: −1, wrong psalm.

Psalm 121 - when is it said?


Rolling a lawn "sports field" in late July due to ruts caused by lawn mowers cutting too soon after a heavy rain, 8 ton roller bad idea?

Question: The weight of the roller is way too heavy, the grass is perennial rye and kentucky blue. The soil is predominantly clay with several years of top dressing using mushroom compost and a course sand core aerated prior to top dressing. Rolling was not only isolated to the rutted area; the entire field was rolled, which in my books was not required, because now the entire field has been compacted. After the rolling a light aeration with a very small slit aerator was used. It should have been a much bigger slit aerator and done quite aggressively. I have a good idea of what this will do to the turf in the coming months. What can I do to try and repair the damage that such a heavy roller has the potential of doing? There is no dedicated irrigation system on these fields, and the rolling was done a few days after a very heavy sustained rain storm.
Answer: Depends on the size of the roller. For a home owner , a few hundred pounds is good enough with a roller of roughly 3' length and 2' diameter (about 600 lb if full of water , usually they were not totally filled).