Safe to use Volkswagen golf mk1 for my ultralight aircraft project?

Question: Good day house, I'm trying to understand if I should use the Volkswagen  golf mk1 (60hp) engine for my ultralight projects..
All advise will be greatly appreciated.. ♥
Comment: You need to define what you mean by safe. As it is this is too broad and a matter of opinion.
Comment: Have you verified that the weight of your aircraft will still fall into the ultralight category with this engine?  I don't know the weight of this particular engine but my guess is that it's on the heavy side.
Comment: Related: [What are some of the differences between piston engines used in aircraft and automobiles?](https://aviation.stackexchange.com/questions/11527/what-are-some-of-the-differences-between-piston-engines-used-in-aircraft-and-aut)
Comment: Are you trying to meet ultralight weight limits in a specific country, such as the US?
Answer: I'd be very surprised if even a stripped-down Golf Mk. 1 engine (even starter and alternator removed, magneto installed) would allow your ultralight to meet weight limits with pilot and fuel aboard.  The Golf Mk. 1 is a liquid cooled engine, and while I can't find a listing for the bare engine weight, it surely is much heavier than the air cooled two-stroke and four-stroke engines commonly installed on ultralight aircraft.  The coolant and lubricating oil alone would weigh almost half what a small Rotax engine would, and never mind the cast metal block and head, pistons, rods, and crankshaft, camshaft and cam drive parts.
If you really want to use an automobile engine, you might investigate how much power you can get from the small air cooled engines in a Citroen 2CV, Honda 500 or 600 Coupe, or other mini-car from the 1960s or 1970s.  The only liquid cooled automobile engines I can quickly think of that might come close to allowing you to make weight limits are the 1 liter 3 cylinder from the early Geo Metro (which was built by Suzuki for GM), or (but with many more weight-increasing bits) the 1 liter Eco-Boost engine from the Ford Fiesta of the past ten years or so.


3 way dimmer switch - need help

Question: Installing a new 3 way dimmer switch - on the back of it there is the green grounding wire, the white neutral wire, 2 'traveler' outlets and 1 line/load outlet.  However, the wiring when I removed the switch has 1 wire (it was white but wrapped in black electrical tape), and then another black and red wire (which I assume are the 2 traveler wires) and the ground wire which I connected to the green wire from the dimmer switch....so I only have 3 other wires, but 4 more connections on the dimmer switch...
Comment: Can you post photos of the insides of the boxes involved please? Also, what make/model is your dimmer, and is it a "smart" dimmer perchance?
Answer: Neutral
Ordinary switches don't need neutral. Many (but not all) dimmers, timers, smart switches, motion detectors, etc. need neutral. There are some exceptions that:

Leak a little current through the circuit when "off" - works fine with incandescent but often not very well with LEDs
Use ground - permitted for very low current in limited circumstances. But you can't just "use ground instead of neutral"
Battery backup

but a lot of devices now need neutral and hot in the box, so that they can complete a circuit to power the switch itself even when the lights are off. Because of that, code now requires neutral to be available (or easily added via conduit, but the cables you described are not a conduit installation). But older houses often don't have neutral in switch boxes.
Based on your description, you have either 2 travelers + hot (i.e., first switch in the group, so hot comes in from the panel and travelers go out to the 2nd switch) or 2 travelers + switched hot (i.e., last switch in the group, so travelers come in from another switch and switched hot goes out to the fixture). But in any case, it doesn't sound like you have neutral available.
Take a look at the other 3-way switch. You may have better luck there - i.e., 2 cables - one to this switch and another either to the panel or to the fixture. There are a few different possibilities, including:

Panel -> Switch 1 -> Switch 2 -> Fixture

and

Panel -> Fixture -> Switch 1 -> Switch 2

and depending on a number of factors, you may or may not have neutral available in the other switch box. If you do, then install the dimmer there. If you don't, then you have to do some rewiring to make this work. You can't just add a neutral wire - you have to replace (e.g., 2 wire + ground with 3 wire + ground, or 3 wire + ground with 4 wire + ground) entire cables.
Answer: What seems to be missing is the neutral wire, which was not required until recently.
Comment: The neutral appears to be missing. the white marked with black electrical tape is probably a hot.
Comment: Sorry - ground wire is there, and connected to the green wire from the dimmer switch.  So that leaves a red and black wire, plus the white wire wrapped in black tape for the 4 connections on the dimmer switch...

3 way dimmer switch - need help


Could another intelligent space-faring species have grown up on Earth before humans, and could another arise if humans all left?

Question: If humans have evolved from apes, what if another species have already evolved from humans but left the planet millions of years ago?  If this is true, in the future, if humans are advanced enough to leave the planet, could apes then evolve into humans and start the process again? Surely this would only take a few million years from the date we all leave?
Comment: There was no such species. We know that for sure, because we found all the natural reources of Earth unmined. A sapient species coming after us would find unexplainable discontinuities in the distribution of petroleum, coal, iron ore etc. etc.
Comment: I have successfully navigated around the resource consumption problem in some of my writing by having the earlier race attacked by an enemy who used nanite disassemblers to reduce all modern contruction and technology to its elemental components.  Once that was done, and with the planet coated in finely ground bio-accessible elements, a super forest flourished everywhere.  The decay of that forest then restocked the hydrocarbon deposits while the wind and water currents separate out the elemental particles by weight to form natural appearing ore veins.
Comment: @AlexP - your observation reminds me of an old game for the original Macintosh - you could shepherd your species thru its evolution and eventual departure from earth.  If you kept at it and tried for a second intelligent species from the same world, the second one would run into problems because of lack of fossil fuels, which had been depleted by the first.
Comment: If the [Thea](https://en.wikipedia.org/wiki/Giant-impact_hypothesis) impact had occured afther the first one left and life started from scratch abain maybe, but for a third race to not notice you'd need to stage another convenient clean-sweep or risk detection.
Answer: First of all let's clarify a misconception I perceive in your wording.
Humans did not evolve from apes. Humans and apes have a common ancestor! The exact moment of separation between the two is thought to have happened somewhere around 2 millions year ago, with the appearance of homo abilis

This said, we have been able to observe in archaeological records way past those 2 million years: we have observed dinosaurs up to 65 million years ago, we have even observed the first form of life dating back to 3.5 billion years ago.
If there was a species capable of developing space travel, we would have observed its traces somewhere: depleted ore mines, leftovers, buildings are just few of the traces they could have left behind. We have been able to see copper mining during bronze age from the increase of arsenic content in the surrounding of the villages working the copper ore!
So, based on our observation, there was no species like us before us.
When we disappear from the planet, can another intelligent species arise? Very probably.
Can this species be alike to humans? Very unlikely. Each species is the results of billions of random mutations. It would be easier to win the lottery 100 times in a row than having two independent species be exactly alike.
Comment: Humans **are** apes. The genus *Homo* is very very closely related to the genus *Pan*, and only more distantly related with the genera *Gorilla* and *Pongo*; which means that there is no way to group chimpanzees, gorillas and orangutans as "apes" and exclude humans from that group. In fact, given the very small biological differences between humans and chimps, it has been occasionally proposed half-seriously to sink the genus *Pan* into *Homo*. For an opinionated take on this, see Jared Diamond's [*The Third Chimpanzee*](https://en.wikipedia.org/wiki/The_Third_Chimpanzee) (1991).
Comment: @AlexP The only reason humans and chimpanzees/bonobos are not in the same genus is political, not scientific.  Either humans are *Pan* or chimpanzees are *Homo*, and either way you slice it, you're going to make a lot of people mad.  (You *could* split chimpanzees and bonobos into two separate genera, but that's just being intellectually dishonest.)
Comment: Shorter: the most recent common ancestor of humans and chimps was an ape.
Comment: humans diverged ("evolved") from an ape ancestor that looked like modern bonobos 6-5 million years ago.
Answer: Evidence of our existence is irrefutable and irreversible
Unfortunately, our very current-day presence would easily be detectable in the future. Even if we leave Earth, we dismantle cities somehow and let them grow over, the unfortunate thing is future archeologists will notice:

The extinction of many species at this time. Unless we somehow bring back millions of animals and plants back from the brink, this kind of thing is noticeable and any future study of the evolution of life on the planet will see a 'gap' and marked increase in extinction.
Hydrocarbons in both the atmosphere, the oceans and the ground. These are not naturally occurring, and would be noticed in any simple ice-core or rock sample.

So, extending this to: can we detect an ancient lost civilisation?
The answer is yes, we would have found out already as we would notice the same traits in our past. As there is no evidence of a long lost civilisation, especially one with spacefaring capability, then the conclusion is that there hasn't been one.
Now, the only way around this is to somehow completely 'write over' the planet. Much like the 'Genesis Device' in Star Trek 2 - each atom on the planet is reconfigured to suit a previous age. Not saying it's impossible, but it may be possible for a civilisation several million years advanced.
Answer: It's possible...if said species was really good at cleaning up.
We haven't found any evidence of a lost civilization before humans, and we've found plenty of traces of humans.  We've also found fossil fuels left over from very early on in the planet's lifecycle, and if another species like us had arisen, they would have depleted those stores.  Evidence of intelligent species creates an obvious and irreversible mark on the planet.
Or at least, assuming that said intelligent species' technology never advances beyond where ours is today.  And why should we make that assumption?
In an effort to combat climate change, modern scientists are already looking into ways of cleaning up the atmosphere.  The thing is, we've basically burned millions of years worth of fossil fuels and turned it into gases.  The only way to get those gases out of the atmosphere would be...to turn them back into solids, and put them back in the ground.
This would require an immense amount of energy.  It would take more energy to un-burn fossil fuels than the energy we got by burning them, thanks to that pesky Second Law of Thermodynamics.  But new advances in energy technology might get us access to this kind of energy - and once we do have this energy, cleaning up our mess would be a sensible thing to do with it, right?
Construction technology is also growing more modular and flexible.  As civilization advances, we're looking for ways to quickly set up and dismantle buildings so that cities can be redesigned as the needs of the population changes.  Who knows how far this will progress in the future?  Once we can build hordes of constructor and deconstructor robots creating moving cities should be simple.
So let's say an ancient civilization arose, burned through fossil fuels, found a much better source of energy, and then fixed their own climate by putting those burned fossil fuels back into the ground.  They assimilated their historical constructions and developed construction that could be easily dismantled using swarms of robots.  At some point after this, they discovered space flight and left, leaving nothing behind.
Why leave nothing behind?  Who knows?  Maybe it's normal for advanced civilizations to want to leave their world in pristine condition, paving the way for new intelligent species that may come after them.  Maybe as their technology developed, they finally discovered the well-hidden remains of the civilization that came before them, realized that they wouldn't have existed if the prior civilization hadn't cleaned up, and demonstrated their appreciation by copying their predecessors.
Maybe we'll do the same.


USB stuck in read-only cannot do anything

Question: I have a USB that is stuck in read only. I can't format it or delete its partitions. I was wondering if anyone knows of a way to fix this. In the fdisk screenshot the size of the partitions and the sectors seemed really unusual so i included a screenshot.
Comment: You need to unmount the file system at `/dev/sdb1` before you can modify or recreate the partition table (safely). Does it work now? I don't recommend using GPT on external media. It reduces compatibility and has no advantages over MBR at the moment.
Comment: Flash drives do wear out, when they do they enter read only mode to preserve data.  Consider the possibility that the drive has seen better days and you should preserve anything valuable from the drive before it completely fails.
Answer: try mounting with read write options
sudo mount -t ntfs -o rw /dev/sdb1 /mnt

then try accessing it if doesn't work which is more likely cause i think you may have tried these obvious stuff then that unalloccated is weird just make a backup of all data , delete the partition from gparted ,delete the partition table just to be safe recreate a partition table and create an new healthy partition
if none of these works then just bring out the legendary pokemon,the last resort which is a little slow but always works "ONLY DO IT AS LAST RESORT"
dd if=/dev/zero of=/dev/sdb

this will fill the whole thing with zeros any corruption will be overwritten
. Good Luck
Answer: A few observations:

As others have mentioned, you need to unmount the partition before you can edit the partition table.

You need to run fdisk on the raw device and not a partition.  i.e.:
fdisk /dev/sdb

The correct partition table should then be visible.

To actually attempt to fix the filesystem run:
fsck /dev/sdb1

If all else fails, try mounting the disk on a Windows machine.  This may repair any filesystem damage.  (It might also end up wiping the disk; Windows has a nasty tendency to break things.)
The reason this might work is that the Linux NTFS drivers are quite conservative about repairing filesystem damage and won't attempt a repair if they're not 100% sure the operation is safe (the driver docs specifically mention this but I don't have a reference readily at hand).


Is the Specialized Sectour Double 2014 a men's bike. Can a women ride a men's bike?

Question: I am looking for a woman's bike. And I found a 2014  Specialized Sectour double. Is this a men's bike? If so what are the disadvantages of a women riding it ?
Comment: There is no fundamental difference between a "men's" bike and a "women's" bike, other than women tend to be shorter (on average) and hence need smaller bikes (on average).
Comment: It's a bike.  Seems decent.  But be sure it's what *she* wants, and not what *you* want.
Comment: (And note that the Secteur Elite Double comes in 7 different sizes.  It's not a "one size fits all" sort of thing.)
Comment: I forgot to mention that this bike is a 54cm. When I went to a bike shop they told my girlfriend that she is 54cm. So would this bike size be good for her? I know a little bit about the group components and I was looking at a beginners bike and for the price I think this is it.
Comment: That is not true for most manufacturers Daniel.  What they do is adjust their geometry (top tube length) for the typical female build.  If they were just smaller, they would serve no purpose.  Females "tend" toward different proportioning than males, and most female specific bikes take this into account.
Answer: I sold Specialized bikes for a lot of years, they do make gender specific frames, women's bikes have shorter top tubes relative to the seat tubes, this is because women on average have shorter backs and longer legs than men do, they also come with womens saddles, and sometimes women specific grips (for feminine hands). The Sectour is considered a men's frame. Not everyone is built the same though, my wife rides a men's frame because she is really tall in the body. The only other difference between men and women's Specialized frames is that women's frames sometimes have "girlier" colours and paint details.
Comment: Ya, because of their inseam length eh? But they have a shorter stem to compensate I bet. Different manufacturers have different geometries too. Giant bikes for example have longer top tubes and shorter seat tubes compared to Specialized. Buying the right bike is a lot like shopping for hiking boots, you need to find the brand that suits your body type.
Comment: Most manufacturers women's models sport a shorter top tube to compensate for "typical" female geometry.  Despite it being common, it always amazed me when some female who was four to five inches shorter than me rode the same sized frame I did.
Comment: Correct. When the shop that I worked at sold all three brands, top tubes were Kona > Specialized > Trek.  So maybe if you had typical female geometry, you could buy a Kona women's, or just a Trek.  Bicycle sizing is only useful when you are comparing the same model of bike to itself.
Answer: I would say that whether a bike is Unisex (men's) or women's specific it is of fairly little relevance. What matters more is an individual's fit on an individual bike. Tall people need big bikes, short people need smaller bikes, regardless of gender.
As it says here: http://www.wiggle.co.uk/h/option/bikesizeguide#women-bike
A women's bike is built to fit the average woman but a lot people aren't average.
The punchline is this: try the bike out before you buy it, if it fits.. it fits!
NOTE: The photographed frame is a compact frame so you are expected to have a lot of seat-post exposed. If you have to lower the seat way down below the handlebars to reach the pedals, that's not a good fit.
Answer: Naturally you would want to put a women's seat on it.
A shop will typically switch our for free.
This is a comparable women's in Specialized. DOLCE
Comment: Vita isn't the right equivalent - I'd guess its something like the Dolce or something (vita elite doesn't have even drop bars).
Comment: @Batman you are correct.  I edited to Dolce.


Good Features for an ORM

Question: I'm currently working on putting together a fairly simple ORM tool to serve as a framework for various web projects for a client.  Most of the projects are internal and will not require massive amounts of concurrency and all will go against SQL Server.  I've suggested that they go with ORM tools like SubSonic, NHibernate, and a number of other open source projects out there, but for maintainability and flexibility reasons they want to create something custom.  So my question is this: What are some features that I should make sure to include in this ORM tool?  BTW, I'll be using MyGeneration to do the code generation templates.
Comment: The client shouldn't really care what type of ORM is used, and instead convince them that they will get their product/serivce to market quicker when implementing open source technologies/3rd party libraries (jQuery, Enterprise Library, etc).
Comment: NHibernate is more maintainable and more flexible than the homebrew poor-developer's ORM one of the consultants here built for one of our projects.
Answer: For the love of all that's holy (and the women and the children), do everything possible to convince them not to go with a custom O/RM solution. Why are people wanting to re-invent the wheel when there are perfectly-good, open-source wheels already in existence?!?!
Comment: Well, I totally agree...I'm a big fan of both SubSonic and NHibernate, but in this case I think the Client is going to pretty much always push back.
Answer: If your client isn't interested in OSS because of (real or imagined) perceptions about support, have you considered any of the top-quality commercial third-party ORMs such as LightSpeed that comes with a nice GUI designer tool

(source: mindscape.co.nz)
Mindscape (the company that sells LightSpeed) is a New Zealand company based near where I live, I have met some of the devs there, and I know they are famous for having incredible customer support. And they give you the source code when you buy the software, so you can tweak it any way you like.
You probably don't want to have to roll your own ORM unless you have to and your client is willing to hand over a stupid amount of cash for you to do so.
Answer: IMO writing your own OR/M is one the worst design decisions you could ever make. "maintainability and flexibility" are reasons exactly NOT to write your own OR/M.
Please read See 25 Reasons Not To Write Your Own Object Relational Mapper, and see if your client really wants to pay what it costs to build something like NHibernate ($7.6M) or SubSonic ($1.5M). Because, like ChanChan said above, you will end up with something similar to that.
Answer: There's a bunch of posts by Davy Brion (an NHibernate committer) who is for some reason also forced to write a custom ORM for a client.
Some of the things he covers are:

Mapping Classes To Tables
Out Of The Box CRUD Functionality
Hydrating Entities
Session Level Cache
Executing Custom Queries

Definately worth checking out, if you MUST go down this path: Build Your Own Data Access Layer Series
Answer: You need to go the nHibernate style, in my experience, and have it so that you have some kind of map, between your objects and the database. This allows your objects to have some things that are hard to represent in a database but are easier represented in POCOs.
Generation gets you started, by giving you classes that meet your schema, but if you plan on maintaining anything or testing anything, mapping is pain now for pleasure later.
Subsonic is a great model, and its open source, if you must go generation, use their templates in myGeneration to get a leg up.
BTW: I've done what you are doing, and I ended up with something very similar to subsonic, and now advise my clients to take the subsonic source, and fork it for themselves.
Answer: Maybe just maybe, you need badly some "features" that do not exist yet in the existing solutions. Maybe you need something simpler also. 1.5$ for Subsonic is simply outrageous.
Maybe  you want to use POCO. Maybe you want to use the stuff easily in a 3 tier scenario.
Maybe you don't want to support ALL RDBMS on the planet, so you can hardcode and optimize the code just for your target. Maybe you want to implement smarter object tracking. Maybe some design decisions made by the existing orms drive you crazy....
I myself am using a custom orm developed by me myself and i, and i am satisfied that i did it. There is no hidden dragon under the carpet, no surprise scenario. My orm does exacty what i want it to do, nothing less, nothing more.
Answer:
Second level cache
Allows you maintain entities instances in-memory

Automatic dirty-checking
Allows you updates changes in an object without loading it.
Powerful query language
Powerful cascade operation
Powerful primary key generator strategy
ORM framework will pickup best primary key generator strategy according to target database
Support to composite elements
Support to events
onSave, onUpdate and so on
Good documentation and reference books
Support to conversational state

regards,
Answer: Your job as a consultant (sounds like that's what you are) is to leverage your expertise in implementing for your clients a solution that fits their desires with a minimum cost and time investment.
If they want to build and sell an OR/M. The go to town making one. If they want anything else, use one that already exists to get the job done.
If they insist on spending money, buy an existing one (I won't name any, but there exist some good ones that are not free).
Answer: No-one has mentioned it yet; but go with LLBLGen. You may customise the template as you like, and you may also, obviously, write your own custom code in the generated classes. Buy it. You will never look back, and you will be saying "Thank you silky!" when it consistently works beautifully. (I didn't write it, but I love it). If it doesn't work out for you, you may also say "Damn you silky!". But that's unlikely, however I do offer it as an option.
The only bad thing I noticed about LLBLGen has been the support for switching between Databases/servers on the fly. It doesn't support a feature that I'd like; namely the ability to detect that a given entity you retrieved doesn't "exist" in a new database that you've switched to. But this is a rare case.
I suggest LLBLGen, because I was in the process of writing my own OR/M when I came across it. Never looked back.
Answer: Try to use Devart LinqConnect - all of the LINQ to SQL features and wide support of the most popular database servers - Oracle, MySQL, Postgre, SQL Server, and SQLite. Incredible Visual Modeling tool, advanced monitoring tool, high quality support - as a result i've learned it only in three weeks during my project execution.

Good Features for an ORM


To pause animated GIF files when previewing them using the Space key

Question: I have many animated GIF files on my Mac and my question is how to temporary pause the animation after I have pressed the Space key to preview the file. Is it possible somehow?
Answer: You cannot pause an animated GIF
When you preview any (supported) image, including an animated GIF, the Quick Look plugin is rendering that image as if you opened it in an image viewer or a browser.  It's not a video with a time index that you can start/stop.
The best way to get it to stop is to navigate away from the Finder window so that the preview is automatically closed, then navigate back so that it's no longer loaded.
Some animated GIFs are encoded with duration and loop= values meaning the GIF will run only for so long and if set to any value greater than 0, it will only iterate that number of times (i.e. 10x).  If it's set to 0, it will loop forever.
Comment: Allan, thanks a lot. This is probably very unusual, but I use animated GIFs to create multipage documents. May be you know a good app for this instead of opening the file using Preview and editing it using the markup toolbar? Most importantly, I need to add text boxes and adjust line spacing. Unfortunately, Preview don't allow to adjust line spacing. And of course, like Preview, the app should be able to edit each animation frame separately, so that I can create _multipage_ documents.
Comment: I know how to create the using tools like `ffmpeg`, I've just run into an occasion to edit them or view them in anything but a browser.  I think you can do what you want in Windows Player so maybe VLC has a similar capability?


Help with breaking up a column in PowerBI to make a bar chart

Question: My data set is a list of documents. I have a column in my data set - 'Independent Variable'. This column can contain nothing, i.e. 'NA', or one variable, i.e. 'var1', or multiple, i.e. 'var1;var2;var3' and is essentially metadata for the documents. I'm attempting to create a visual, like a bar chart, that would show how many documents in my data set are associated with each independent variable. I have roughly 30 independent variables, and they are all housed in the column 'Independent Variable', hence when trying to make a chart i get a ton of entries for that so each bar is 'var1', 'var2', 'var1;var2' etc. How can I break it down so that only var1, var2, var3 are my buckets and if those variables exist in the column that document is counted
Answer: You need to clean up the data. Load it into the Power Query editor.

Split the column with the variables by the delimiter <code>;</code>
now you have a lot of individual columns, some have values, some are empty
select all columns except the newly split ones and use Unpivot > Unpivot Other Columns on the transform ribbon.
Now you have one row for each combination of document name and variable
Rename the columns as you see fit, delete the Attribute column and load the data.

Create a chart with the variable column in the legend.
Comment: Thank you. This worked, except every single one of my variables now appears twice in the chart. Is there something I'm doing incorrectly?
Comment: Hmm. Yeah, well. I can't see your screen, your data, your code. Hard to troubleshoot that without more info. If things appear twice, chances are the data has them twice. Remove the duplicates. Power Query has buttons for that.


How to install a specific version of Node on Ubuntu/Debian?

Question: I would like to install NodeJS version 0.8.18 on Ubuntu 12.04. I tried to install the newest version and then reverting to 0.8.18 by using nvm, but when I run my code apparently there is some problem with the packages installed and the two versions (latest and 0.8.18). Since I don't know how to solve that problem, I cleaned the machine from the Node installation and thought about installing directly the version I'm interested in (v0.8.18).
Comment: There is API change from 0.8.x to 0.10.x. So be sure to check the changes. Also not just node, various packages for e.g. `express` have API changes too.
Comment: http://nodejs.org/dist/v0.8.18/ has some dist files, did you try those?
Comment: Hi, not really. I'm not really into Ubuntu and dist files, so I don't even know how to use them. Anyways thanks, I'm checking how to do it and see if I can use them!
Answer: The n module worked for me.
Run this code to clear npm's cache, install n, and install the latest stable version of Node:
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

See: http://www.hostingadvice.com/how-to/update-node-js-latest-version/
And: https://www.npmjs.com/package/n
To install a specific version of node:
sudo n 18.17.1
To check what version:
node -v
You might need to restart
Comment: You could always alias it: `alias noonoonaanaanoonoo='n'` ;)
`
Comment: Not a huge fan of the single-letter name, but this solution definitely works and is trivially easy!
Comment: Didn't work for me. But after some searching, a similarly simple solution that worked was this: https://stackoverflow.com/a/45584004/3673329
Comment: Found a similar answer somewhere else but the restart statement was missing there, it took me hours until I saw ur answer, restarted the machine, and finally, node was pointing to the newer version.
Comment: Only this worked for me in Ubuntu 22.04. Thanks!
Comment: I am in the same boat as https://stackoverflow.com/users/12923941/pwj. This is a way better solution than others out there for Ubuntu 22.04 LTS. Thank you!
Answer: NVM (Node Version manager)
https://github.com/nvm-sh/nvm
Advantages:

allows you to use multiple versions of Node and without sudo

is analogous to Ruby RVM and Python Virtualenv, widely considered best practice in Ruby and Python communities

downloads a pre-compiled binary where possible, and if not it downloads the source and compiles one for you

Tested in Ubuntu 17.10:
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.nvm/nvm.sh
nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

For the particular case of the most recent long term support version (recommended if you can choose):
nvm install --lts
nvm use --lts
npm --version
npm install --global vaca
vaca

Since the sourcing has to be done for every new shell, the install script hacks adds some auto sourcing to the end of your .barshrc. That works, but I prefer to remove the auto-added one and add my own:
f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

With this setup, you get for example:
which node

gives:
/home/ciro/.nvm/versions/node/v0.9.0/bin/node

and:
which vaca

gives:
/home/ciro/.nvm/versions/node/v0.9.0/bin/vaca

and if we want to use the globally installed module:
npm link vaca
node -e 'console.log(require.resolve("vaca"))'

gives:
/home/ciro/.nvm/versions/node/v0.9.0/lib/node_modules/vaca/index.js

as mentioned at:

NodeJS require a global module/package
How do I import global modules in Node? I get "Error: Cannot find module <module>"?

so we see that everything is completely contained inside the specific node version.
For projects however, you are better off just using packages installed locally under node_modules and npx for executable to be able to have independent versions across projects, global usage is mostly for the Node executable itself and global CLI utilities not specific to any project.
Setting the NPM version
Simply:
npm install email@example.com -g

The executable is placed inside the current NVM version, so everything remains nice and isolated, e.g.:
which npm

gives something like:
/home/ciro/.nvm/versions/node/v14.17.0/bin/npm

How can I change the version of npm using nvm?
Comment: At least the recent version of `nvm` (0.35) is updating `.bashrc` automatically. It appends there sourcing of `nvm.sh` and also bash completions.
Comment: 6 years later (nearly) still best most concise answer I could find, great stuff!
Comment: 6 years and a month later, i got spanked for not reading instructions. For node 18, it should be piped to "bash" I think.  [says here](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script)
Comment: @RichardDomingo thanks updated, yes, their error message is quite funny.
Comment: @DawidFerenczyRogožan yes, thanks, I've clarified that in the answer.
Answer: Chris Lea has 0.8.23 in his ppa repo.
This package let you add a repository to apt-get: (You can also do this manually)
sudo apt-get install software-properties-common

Add Chris Lea's repository:
sudo apt-add-repository ppa:chris-lea/node.js-legacy

Update apt-get:
sudo apt-get update

Install Node.js:
sudo apt-get install nodejs=0.8.23-1chl1~precise1

I think (feel free to edit) the version number is optional if you only add node.js-legacy. If you add both legacy and ppa/chris-lea/node.js you most likely need to add the version.
Comment: `sudo apt-cache showpkg nodejs` - you can use this command for show available versions `sudo apt-get install npm` - add npm manager to your computer
Comment: If you're looking to install newer versions, like 0.11.x: (1) `sudo apt-add-repository ppa:chris-lea/node.js-devel` (2) Update: run `sudo apt-get update` (3) Then, to list the latest packages: `sudo apt-cache showpkg nodejs` (4) For example, to install 0.11.14: `sudo apt-get install nodejs=0.11.14-1chl1~trusty1` This is often a great way to install Node with harmony support. Remember to use the --harmony flag when you run Node.
Comment: How the heck do you figure out this part of the version: `-1chl1~precise1`?
Answer: It is possible to install specific version of nodejs from nodejs official distribution with using dpkg.

Check the version of you ubuntu distribution, cat /etc/lsb-release.
Check architecture of your os, uname -m.
Download preferred version of debian package from nodejs official site.

For 4.x, https://deb.nodesource.com/node_4.x/pool/main/n/nodejs/
For 5.x, https://deb.nodesource.com/node_5.x/pool/main/n/nodejs/
For 0.12.x, https://deb.nodesource.com/node_0.12/pool/main/n/nodejs/

Be careful to check nodejs-dbg or nodejs in filename.

For example, currently recent 4.x version is 4.2.4, but you can install previous 4.2.3 version.
curl -s -O https://deb.nodesource.com/node_4.x/pool/main/n/nodejs/nodejs_4.2.3-1nodesource1~trusty1_amd64.deb
sudo apt-get install rlwrap
sudo dpkg -i nodejs_4.2.3-1nodesource1~trusty1_amd64.deb

Comment: For some reason the **curl** command didn't work for me, so I used **wget** instead. But the process as a whole worked fine. Thank you.
Answer: Try this way. This worked me.

wget nodejs.org/dist/v0.10.36/node-v0.10.36-linux-x64.tar.gz(download file)
Go to the directory where the Node.js binary was downloaded to, and then run command i.e, sudo tar -C /usr/local --strip-components 1 -xzf node-v0.10.36-linux-x64.tar.gz to install the Node.js binary package in "/usr/local/".
You can check:-
$ node -v
 v0.10.36
$ npm -v
 1.4.28

Answer: In ubuntu specific version of node can be installed with help of nvm
install nvm
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.bashrc

To install a particular version of node, use the command nvm install and add the number of the version.
nvm install 10.15.2
node -v

Comment: what is 'source'?
Answer: I imagine many directed here are looking for this to add to a Dockerfile
RUN set -x \
    && curl -sL 'https://deb.nodesource.com/setup_16.x' | bash - \
    && apt-get -y install nodejs \
    && ln -s /usr/bin/nodejs /usr/local/bin/node

Comment: Seems nodesource only use major versions: https://github.com/nodejs/Release
Comment: How can specify exact version with it?
Answer: Say you want to install Node 10,
Firstly, download and execute the Node.js 10.x installer:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

This will add a source file for the official Node.js 10.x repo, grabs the signing key
Once the installer is done doing it's thing, you will need to install (or upgrade) Node.js:
sudo apt install nodejs

Comment: This was a good one, but the script got deprecated, see: https://github.com/nodesource/distributions/tree/master#installation-instructions, for the latest version of the script.
Answer: version 0.10 is also avaible with this ppa
apt-add-repository ppa:chris-lea/node.js

install nodejs with:
apt-get install nodejs=0.10.25-1chl1~precise1

Thanks to my friend Julian Xhokaxhiu
Comment: This is command giving error to me on ubuntu 14.10 E: Version '0.10.15' for 'nodejs' was not found
Answer: yes, its a duplicate answer but I insist using n module to install a specific version(following commands installs node version 6.9.5).
npm install -g  n
n 6.9.5

Answer:
NOTE: you can use NVM software to do this in a more nodejs fashionway.
  However i got issues in one machine that didn't let me use NVM. So i
  have to look for an alternative ;-)

You can manually download and install.
go to nodejs > download > other releases
http://nodejs.org/dist/
choose the version you are looking for
http://nodejs.org/dist/v0.8.18/
choose distro files corresponding your environmment and download (take care of 32bits/64bits version).
Example: http://nodejs.org/dist/v0.8.18/node-v0.8.18-linux-x64.tar.gz
Extract files and follow instructions on README.md :

To build:
Prerequisites (Unix only):
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:
./configure
make
make install

If your python binary is in a non-standard location or has a
  non-standard name, run the following instead:
export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Windows:
vcbuild.bat

To run the tests:
Unix/Macintosh:
make test

Windows:
vcbuild.bat test

To build the documentation:
make doc

To read the documentation:
man doc/node.1

Maybe you want to (must to) move the folder to a more apropiate place like /usr/lib/nodejs/node-v0.8.18/ then create a Symbolic Lynk on /usr/bin to get acces to your install from anywhere.
sudo mv /extracted/folder/node-v0.8.18 /usr/lib/nodejs/node-v0.8.18
sudo ln -s /usr/lib/nodejs/node-v0.8.18/bin/node /usr/bin/node

And if you want different release in the same machine you can use debian alternatives. Proceed in the same way posted before to download a second release. For example the latest release.
http://nodejs.org/dist/latest/ -> http://nodejs.org/dist/latest/node-v0.10.28-linux-x64.tar.gz
Move to your favorite destination, the same of the rest of release you want to install.
sudo mv /extracted/folder/node-v0.10.28 /usr/lib/nodejs/node-v0.10.28

Follow instructions of the README.md file. Then update the alternatives, for each release you have dowload install the alternative with.
sudo update-alternatives    --install genname symlink  altern  priority  [--slave  genname  symlink altern]
          Add a group of alternatives  to  the  system.   genname  is  the
          generic  name  for  the  master link, symlink is the name of its
          symlink  in  the  alternatives  directory,  and  altern  is  the
          alternative being introduced for the master link.  The arguments
          after  --slave  are  the  generic  name,  symlink  name  in  the
          alternatives  directory  and alternative for a slave link.  Zero
          or more --slave options, each followed by three  arguments,  may
          be specified.

          If   the   master   symlink  specified  exists  already  in  the
          alternatives system's records, the information supplied will  be
          added  as a new set of alternatives for the group.  Otherwise, a
          new group, set to  automatic  mode,  will  be  added  with  this
          information.   If  the group is in automatic mode, and the newly
          added alternatives' priority is higher than any other  installed
          alternatives  for  this  group,  the symlinks will be updated to
          point to the newly added alternatives.

for example:
sudo update-alternatives --install /usr/bin/node node /usr/lib/nodejs/node-v0.10.28 0 --slave /usr/share/man/man1/node.1.gz node.1.gz /usr/lib/nodejs/node-v0.10.28/share/man/man1/node.1

Then you can use update-alternatives --config node to choose between any number of releases instaled in your machine.
Answer: FYI, according to this page in the wiki of the nodejs github repo, Chris Lea's PPA (mentioned in several other answers) has been superseded by the NodeSource distributions as the main way of installing nodejs from source in Ubuntu:
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

This is supported for the three latest (at the time of writing this) LTS versions of Ubuntu: 10.04 (lucid), 12.04 LTS (precise) and 14.04 (trusty).
I'm not sure this will help in installing an old version of nodejs, but I'm putting this here in case it helps others who needed to install a specific (newer) version of nodejs that isn't included in their distro's repositories.
Comment: OP asks for a speciifc node version.
Answer: To install a specific version of nodejs in Ubuntu you can use below commands, just specify and replace the version number, for example, node_12.x will fetch the latest of 12.
curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

Comment: Specifying the minor version like node_12.16.3 doesn't work. I just tried with node_12.18.4 which is a LTS version as of today.
Answer: FYI the available version for raring in Chris Lea's repo is currently 0.8.25
sudo apt-get install nodejs=0.8.25-2chl1~raring1
Comment: The version keeps changing evidently.  How do I see which version is the right one?
Answer: Here is a list of available builds for debian: https://github.com/nodesource/distributions/tree/master/deb
For this example, lets assume you want version 14 (LTS at the time of writing)
We can download this script from github, execute it and install the version of node we want. For security reasons it's a good idea to read the script prior to executing it.
curl -sL https://raw.githubusercontent.com/nodesource/distributions/master/deb/setup_14.x | bash
apt-get install -y nodejs # may or may not require sudo based on your setup

I like this approach because it doesn't require extraneous dependencies like nvm to target specific versions
If you are building for a different distro or architecture you can find more builds here https://nodejs.org/dist/
Answer: The Node.js project recently pushed out a new stable version with the 0.10.0 release
Use the following command on Ubuntu 13x
sudo apt-get install nodejs=0.10.18-1chl1~raring1
Answer: Install nvm using the following commands in the same order.nvm stands for node version manager.
sudo apt-get update
sudo apt-get install build-essential checkinstall libssl-dev
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

In case the above command does not work add -k after -o- .It should be as below:
curl -o- -k  https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

Then nvm ls-remote to see the available versions.
In case you get N/A in return,run the following.
export NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist

alternatively you can run the following commands too
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This         loads nvm bash_completion

Then nvm install #.#.# replacing # by version(say nvm 8.9.4)
finally nvm use #.#.#


What is a stale block and how does it work

Question: What is stale block and how does it impact the performance of the ethereum blockchain?
Answer: Nobody uses "stale block" term here. In Ethereum it is called "uncle". It is when your block is not included in the main blockchain, because your node was too slow to generate the chain, and somebody won by creating a longer chain. The longer chain wins, but Ethereum gives you money for a chain of 2 uncle blocks, this increases blockchain strength.
No performance problems exist due to uncle blocks, this is how Ethereum blockchain was thought to work.


Life after Hartshorne (the book, not the person)...

Question: I was wondering what material in algebraic geometry is crucial and is a logical step for a serious graduate student in algebraic geometry once they've finished Hartshorne.  Good answers could include a list of areas of algebraic geometry or important topics that an algebraic geometer must learn along with good references (i.e. accessible to someone with the background of Hartshorne), preferably in the order he or she should/could learn them.  Papers in algebraic geometry tend to draw from so many areas within the field itself that I was wondering what people thought was the best order and way of acquiring that material.
Comment: One difficulty with this question is that the answers, taken together, are inevitably going to give far more (good) suggestions than one person could reasonably go through during a single graduate student career.
Comment: I think that birational geometry is such a topic. Concerning the references, Kollar-Mori "Birational Geometry of Algebraic Varieties" may be one of the best.
Comment: http://ncatlab.org/nlab/show/books+in+algebraic+geometry
Answer: 'Intersection Theory' by Fulton
Every algebraic geometer needs to know at least the basics of intersection theory.
Fulton's book is the standard reference and serves both as a textbook and a reference.
'Principles of Algebraic Geometry' by Griffiths and Harris
This is because Hartshorne does not really talk about complex geometry, Hodge theory or more classical algebraic geometry. It might also be good to see the classical approach to the theory developed in chapters 4 and 5 in Hartshorne which of course existed way before sheaf cohomology and schemes.
EGA by Grothendieck and Dieudonné.
This is if you want more of the Hartshorne style algebraic geometry. I would not say it is essential to read the entire EGA, but since it is the standard reference, it is at least worth getting to know it.
Here is a few more suggestions for more specialized subjects:
Birational geometry (Kollar-Mori or Matsuki).
Toric varieties (Fulton).
Hodge theory (Voisin).
Arithmetic geometry (Cornell-Silverman).
Abelian varieties (Mumford).
Deformation theory (Hartshorne).
Moduli spaces (Mukai).
After Hartshorne, you could start specializing. Find something that seems interesting to you - you'll pick up a lot of new algebraic geometry even though you are studying a specific subtopic. After finishing Hartshorne's book you should be able to read these books without too much trouble.
Answer: Dear anonymous, Mumford wrote a short book Lectures on Curves on an Algebraic Surface which, according to the preface, was written for the reader you have in mind (although at the time Hartshorne's book didn't exist yet). The book corresponds to oral lectures and  the sections ( called Lecture $n$) are essentially the  notes  that had been distributed in class after the lectures, which makes for easy to digest little units.
The book contains the construction of the  Picard scheme of a surface  and the Hilbert scheme of curves on that surface. Lectures 3 to 10 (out of 27) are recollections of the general theory of schemes, with very interesting insights on the functor of points aspect.  For example Mumford describes
$\mathbb P^n(S)$ in terms of invertible sheaves on the scheme $S$ and their sections, he explains how to describe the Zariski tangent space of a functor defined on schemes even if the functor is not representable, etc.
The actual goal of the booklet is to prove a theorem of completeness of a characteristic linear system on a surface. The theorem was proved in characteristic zero analytically by Poincaré in 1910 but algebraically in all characteristics only in the 1960's by Grothendieck through systematic  use of nilpotent elements. But as in all good books, the road is at least as interesting as the final destination, and much can be learned even if the book is not read to the end.
Comment: Dear Georges, I came to this question to add this recommendation, and am very glad to find that you've already posted it! Best wishes, Matt
Comment: Dear Matt, I am very happy about this identity of recommendation.
Answer: Lazarsfeld's book ``Positivity in Algebraic geometry'' contains a wealth of important material and is masterfully written. Anyone doing algebraic geometry today will greatly benefit from being familiar with the contents of this book.
Edit: here is a blog post by Burt Totaro on the importance of this topic/book:
http://burttotaro.wordpress.com/2011/01/11/why-you-should-care-about-positivity/
Answer: Perhaps the first advice I could give is to ask your advisor or algebraic geometers at the university at which you are located, if you are a student, they might already have areas/problems in mind for you to work on and so can give you the best advice relative to those problems.
A couple books which have not yet been mentioned (some of which I wish I had gone through more carefully):
Higher-Dimensional Algebraic Geometry, by Olivier Debarre.
This is a nice somewhat more informal introduction that covers many of the topics in Kollar-Mori with I would say more examples.  It also covers some of the material in "rational curves" .
Moduli of Curves, by Harris and Morrison
A standard introduction / reference on the topic (which is again heavily studied).
Rational curves on algebraic varieties, by János Kollár.
The study of algebraic varieties by studying their rational curves is a major area of investigation in algebraic geometry.  This book is fairly technical but contains a lot of information.
Hodge Theory and Complex Algebraic Geometry I: Volume 1 & 2, by Claire Voisin
Hodge Theory is an important tool and field of study as well.
Answer: Mumford's three part series Tata Lectures on Theta is well worth reading.  (I wish I had read them already...I could sure use the information they contain.)
Added: Or really, close your eyes and pick a book by Fulton, Hartshorne, Kollar, Mumford, Silverman....If you get the book by Hartshorne that you've already read, pick again.  Otherwise, whatever you picked will be a fine choice.
Comment: wonderful advice, maybe add manin, grothendick,mukai, ....,
but the idea is to choose an author you admire.
Answer: As others have said, after Hartshorne you could branch into too many different things, whose relative importance is subjective. Here is my take on what could constitute a good post-Hartshorne curriculum:
Intersection theory

Intersection theory, William Fulton.

Classical foundational book, beautifully written.

3264 and all that, David Eisenbud and Joe Harris.

This one actually tells you how to compute Chow rings in a multitude of situations. But it also contains a wealth of useful information apart from how to compute Chow rings, such as geometry of Grassmanians, Chern classes, Hilbert schemes and a toolbox for Riemann-Roch.
Complex Algebraic Geometry

Complex Geometry, An Introduction, Daniel Huybrechts

This concise book covers nicely the foundational material of complex-analytic approach (which people used to learn from chapters 0 and 1 of Griffiths-Harris).

Hodge theory and complex complex algebraic geometry, I and II, Claire Voisin.

It took me time to develop love for this book. Probably because it strives to reach modern techniques as fast as possible, making it hard for someone just entering the world of Hodge theory.
Derived categories of coherent sheaves

Fourier-Mukai Transforms in Algebraic Geometry, Daniel Huybrechts

Just as all other of Huybrechts' books, this one is a true gem. The book teaches you how not to be scared of $D^b (Coh (X))$.
Birational geometry
There is wealth of different literature on this topic, but I think the most useful as a first book is this truly wonderful book:

Positivity in algebraic geometry I & II, Robert Lazarsfeld

Very clearly written and contains a wealth of examples and beautiful geometry.
Geometry of special varieties.
For special varieties (curves, various types of surfaces, special three- and four-folds, etc.) people have accumulated a large amount of more ad-hoc methods. At the basic level, contemplating the geometry of simplest such varieties provides an excellent playground to truly absorb the power of abstract machinery from Hartshorne. Further on, while doing research you will probably need a very good knowledge of the geometry of your particular variety at hand, so you cannot go wrong with investing some time to learn this material. I will mention here only the basics:
Curves:

Chapter 4 of Hartshorne or
Chapter 19 of Ravi Vakil's notes

Provide the absolute minimum here.
Surfaces:

Chapter 5 of Hartshorne,
Complex algebraic surfaces, Arnaud Beauville
Algebraic surfaces and holomorphic vector bundles, Robert Friedman

The first two items are standard sources, while R. Friedman's book is an interesting synthesis of classical geometry of surfaces and analysis of coherent sheaves on them, beautifully written.

Lectures on K3 surfaces, Daniel Huybrechts

K3 surfaces is truly an amazing class of varieties whose geometry is studied through a multitude of different techniques, and this book does an excellent job showing those multiple facets of research in the area.

The geometry of cubic hypersurfaces, Daniel Huybrechts

These notes are still work in progress, but as the previous item these notes talk about an amazing variety of techniques: moduli spaces, Hodge theoretic methods, etc. There is also a discussion of higher dimensional cases of three- and four-folds.

The rest is more idiosyncratic since it is the field I am interested in -
Moduli spaces of sheaves.

The Geometry of Moduli Spaces of Sheaves, D. Huybrechts and M. Lehn

A systematic treatment of foundations of moduli of semistable sheaves. The book discusses an incredible amount of general techniques used in this area.

Lectures on Vector Bundles, J.Le Potier.

Not the best read with respect to foundations (for that see the previous item in the list), but fully explains the best-studied case of moduli of sheaves on $\mathbb{P}^2$, which still serves as a beacon for research in this area.

Fundamental Algebraic Geometry. Grothendieck's FGA explained, B. Fantechi et al.

An introduction into some more advanced fundamental techniques useful for moduli problems: descent theory, Hilbert and Quot schemes, elementary deformation theory and Picard scheme.

Deformation theory, R. Hartshorne

A nice concise account of algebraic approach to deformation theory, with a lot of examples.
Answer: If you are interested in complex manifolds I would recommend Complex Geometry: an Introduction by Huybrechts.
I also think the Toric Varieties by Cox, Little, and Schenck is an excellent introduction to many advanced topics in algebraic geometry.  Plus you get to learn a bunch of combinatorics in the process!
Answer: I've been told that Néron models by Bosch, Lütkebohmert, and Raynaud is a nice book to read if you want to get better acquainted with techniques in arithmetic geometry.
Comment: Yes, very nice.  Especially nice if you want to learn about Neron models of course -- but seriously, the exposition is of such uniformly high quality that I it is an excellent reference even for things not (directly) related to the somewhat technical topic of its title.
Comment: P.S.: Were it not for modesty issues, **Neron-Raynaud models** would arguably be a better title.
Answer: Abelian varieties.
Answer: I'm far from having read all of Hartshorne, but if I did I would study Compact Complex Surfaces, by Barth, Peters, Van de Ven. Also Geometric Invariant Theory would be a nice topic (I know about the book by Mumford, are there other good books on this topic?).
Ah, I forgot! How about derived categories? Someone suggested that for this topic a good reference is the book by Hartshorne Residues and duality. I had a look at some notes by Caldararu on the arxiv, "Derived categories of sheaves: a skimming", they seem well written.
Comment: I'm not familiar with he book by Bart, et. al., but if you're interested in Compact Complex Surfaces, then the book by Beauville it's quite excellent.  He covers the Enriques classification in a very down-to-earth nice way, given that one has the tools from Hartshorne.
Comment: For derived categories, there is a nice book by Huybrechts called Fourier-Mukai Transforms in Algebraic Geometry.
Comment: Not Bart but **Barth**...
Comment: For GIT, there is also Dolgachev's "Lectures on Invariant theory."
Answer: Q.Liu's "Algebraic geometry and arithmetic curves" is a good reference, if you plan to lean on the more arithmetic side.
Again, a good idea would be to discuss the matter with your advisor(s), since there is a rich variety of fields within the topic (puns intended) -- or ask a more precise question.
Answer: Geometry of Algebraic curves, by Arbarello, Cornalba, Griffiths, Harris, 2 volumes;  Complex abelian varieties, by Lange and Birkenhake; M. Artin, Lectures on deformations of singularities.
The basic idea common to all these suggestions is to use the foundational material from Hartshorne to investigate some more specialized topics, like curves, surfaces, abelian varieties, moduli spaces, singularities, or some more general techniques like intersection theory with applications to general Riemann Roch theorems, and vanishing theorems with applications to classification questions, plus arithmetic and analytic questions.
edit:  In answer to a request in a comment below, this is an attempt to give some guidance to reading ACGH, Geometry of Algebraic Curves.  I apologize if this bumps it back to the top.
A main theme in ACGH is to give, for a curve C, a model for the abel map C^d-->>W(d) in Pic^d(C), which is a resolution of singularities of the Brill Noether variety W(d), in terms of the natural "kernel resolution" of the locus of singular matrices in the space of all matrices of a given size.  One is especially interested in the case d = g-1, where g = genus(C).
I.e. in the space say of square nxn matrices, one has the discriminant locus D of singular ones, defined by the determinant.  This locus is to be a local model for the theta divisor W(g-1) of the Jacobian of C = Pic^(g-1)(C).  It has a natural resolution in the product space P^(n-1) x Mat(nxn), consisting of the set of those pairs R = {([v],M) where v is in the kernel of M}.  The second projection map R-->D is to be a local model for the abel map C^(g-1)-->W(g-1) resolving the theta divisor.
To set this up locally, choose a line bundle L0 in Pic^(g-1)(C), and a general divisor E of degree equal to h^0(L0), so that the map H^0(L0)-->H^0(L0(E)) is an isomorphism.  Then H^1(L0(E)) = 0 and the map H^0(L0(E))-->H^0(L0(E)|E) in the exact sequence
0-->H^0(L0)-->H^0(L0(E))-->H^0(L0(E)|E)-->H^1(L0)-->0 is the zero map.
For line bundles L near L0, we map L to an nxn matrix, with n = h^0(L(E)) = h^0(L0(E)), for the corresponding restriction map r(L): H^0(L(E))-->H^0(L(E)|E).  This maps a neighborhood of L in Pic^(g-1)(C) to matrix space, sending L0 to the zero matrix, and sending a nbhd of L0 in W(g-1) to a nbhd of zero in the discriminant locus D.  Via this map, the abel resolution C^(g-1)-->>W(g-1) is locally the pullback of the natural kernel resolution R-->>D of the discriminant, in particular the fibers of the abel map are the linear series |L|, i.e. the projectivized kernel P(H^0(L)) of the map r(L).
To make all this work, one must study rank loci for matrices, as well as methods of representing the family of linear maps H^0(L(E))-->H^0(L(E)|E), for L in an open set of Pic^(g-1)(C).  This takes a lot of heavy foundational machinery in acgh, chapters 2 and 4, constructing Poincare' bundles and so on.  But this is where they are going.  See pp.83-4, 176-7.  Chapter VI has some nice geometry, and chaps V, VII state nice results.
Comment: Try Riemann's paper on Abelian functions, and Andreotti-Mayers paper on abelian integrals, and George Kempf's book on abelian integrals.
Comment: maybe ACGH is too complex analytic for you after Hartshorne.  Have you tried Griffiths' lectures from China on algebraic curves?  that uses a lot of complex analysis to warm up on.  Or maybe if your outlook is more algebraic, George Kempf's book on Abelian Integrals would be nice.  for specific advice on reading ACGH, I suggest sampling it, working problems, choosing nice subsections, like the torelli theorem, instead of plowing through everything.  there is a huge amount of material already in chapter 1, not to mention the exercises there.  just pick stuff that looks fun.
Comment: I have edited my answer above to give some hints on reading ACGH.  I again highly recommend Kempf.
Comment: Dear @roysmith: sorry to join the party too late. I am trying to read Vol. 1 of Geometry of Algebraic Curves and find it a little hard to penetrate, even after a reasonable understanding of Harthorne (in my not-so-high standard). I was wondering if you have any suggestions regarding how to make reading Vol. 1 smoother. Many thanks in advance!
Comment: thank you very much for your advice and efforts to help me, I appreciate it! I will need time to absorb what you wrote here, and will take a look at Griffiths' and Kempf's books. I aim to understand both analytical and algebraic sides of the subject (plus arithmetic once I understand the geometry better, which may take a long time to achieve), so it's great to know many good sources! Thanks again


How can I force my phone to connect to US-based cell towers only?

Question: I use a Samsung Galaxy S9 with Android 10, and plan to enter Mexico from the US via the land border. How can I force my phone to connect to US-based cell towers only? (I believe my data usage will get way more expensive for non-US data use)
Comment: Most phones have the ability to turn off roaming, for example in a Pixel 3A it is in Settings, Network & Internet, Mobile Network, and toggle Roaming off... Otherwise contact your carrier and see, in some cases roaming into Mexico is included in your plan or they may have a cost-effective add-on for roaming into Mexico.
Comment: @acejavelin thanks I'd like to keep roaming if still able to connect to a US-based cell tower
Comment: Most US carriers have roaming agreements with Mexican and other Central and Latin America carriers, I would suggest reaching out to your carrier, otherwise be aware that roaming is roaming and could result in very high fees. Best to just turn mobile data off except when absolutely necessary.
Answer: It is currently impossible to do force one's phone to connect to US-based cell towers only. E.g. from Dicknose22 on https://www.reddit.com/r/AndroidQuestions/comments/j5ntyg/how_can_i_force_my_phone_to_connect_to_usbased/g7tefwh/:

Not to the best of my knowledge, even with total root access, your phone and the tower communicate on what to connect to you do not have power to override what your carrier decides you should connect to.


Wiring a eTopxizu 12v 30a Dc Switching Power Supply to USA 240 volt plug?

Question: I have a eTopxizu 12v 30a DC Universal Regulated Switching Power Supply. The power inputs are marked Ground-Neutral-Load. It has a switch on the side that adjusts it from 110 volts to 220. When I adjust it to 220 volts does this change the inputs to the USA standard for 220 volt where it is Ground-Hot1-Hot2 OR does it still require a neutral with a 220 load on the single L input? The reason is I would like to use this power supply to convert a USA 220 three prong output to 12 volts.
Comment: It more likely changes some of the internal circuitry (i.e. the rectifier - from voltage doubler to full bridge) rather than changing the pinouts, I doubt the pin order would change.
Answer: As neither current-carrying conductor (L or N) should be connected to ground in the power supply, it can be used on a US 220 Volt circuit when set to 220 volts.
However, why would you want to do this? - 360 watts is an easy load for a normal 120 Volt outlet.
Comment: Great question! In this project I have a 240 volt, 30 amp line in to run the Silicon Controlled Rectifier using zero-crossing to make a variable heating element. Then I have 8 12 volt adapters to power everything from the thermoelectric cooling modules to fans, sensors and the various microcontrollers that run the system. I am in power cable hell and I wanted a single power source to run the whole kit. In theory there is enough juice left over in that 240 line. This unit seemed to answer that problem and so before I blow myself up I thought I'd ask.
Answer:
When I adjust it to 220 volts does this change the inputs to the USA standard for 220 volt where it is Ground-Hot1-Hot2

It will almost certainly be fine to connect one of your hots to the "L" terminal and one to the "N" terminal and set the switch to 220V. What matters is the voltage between the "L" and "N" terminals not where that voltage happens to be in relation to earth.
Note that a 120/240 switch is a sign of an older power supply design that will almost certainly be inefficient and have poor power factor.
Comment: The unit is a brand new Ham radio power supply. All I need from it is approximately 6 amps at 12 volts. The important thing is the line in is a 3 cable American 240 volt, 30 amp line. If I can reduce the other 12 volt power converters this would be the ideal solution. A single plug would be such a wonderful thing! Right now I have 8 wall warts so those would go away.
Comment: Like I said it will almost certainly be fine to connect one of your hots to the "L" terminal, one to the "N" terminal and set the switch to 220V mode. Given that your supply is 30A I would also suggest fitting a pair of fuses in the supply to your PSU to limit the current in the event of a fault.
Comment: Thanks, Peter! I will take your suggestion on the fuses.


How can the free amino acid B be enantioslectively synthesitzed?

Question: I would like to know how this reaction actually works. I think its an ring metathesis, espececially with the Grubbs catalysator II. But I dont know how to this reaction examole really works especially with respect to enantioselectivity.
May anyone help?
Comment: Which bit do you not understand. The alkylations or the metathesis?
Comment: @Waylander seems to me that it's the diastereoselectivity of the alkylation(s).
Comment: As far as I can tell, the stereoselectivity is completely unimportant as you're doing a double allylation at the same position.
Answer: I'm guessing this is a homework type question. Yet, I have some concern of this being a exam question, probably one already taken. So I give a step by step answer depicted in following diagram (courtesy of https://web.chemdoodle.com/demos/sketcher/):
Comment: I don't actually agree: in step (b) the reaction proceeds via an enolate, which destroys the preexisting stereochemistry, and the alkylation will again occur anti to the t-butyl group. So it is the allyl group and not the homoallyl group which ends up on the top face.
Comment: @ orthocresol: I agree with you 100%. However, OP didn't give final structure so I gave him what possible logical answer for him/her. I might have to use ChemDraw to do proper explanation, which I don't have an access during the weekend. :-)


What fraction of web sites are vulnerable?

Question: It is known that security vulnerabilities are common on the web: many web sites are vulnerable.  Is there any data on what fraction of web sites are vulnerable, and what fraction are secure?
Comment: By vulnerable you mean vulnerable to a known issue? Else you get close to 100%.
Comment: @CodeInChaos, hmm, I think both versions of the question are interesting.  I was thinking "vulnerable in any way whatsoever", so if you have statistics or data to show that this is close to 100%, and how close, I'd definitely be interested.  But if you have stats on "vulnerable to known issues", that'd be interesting, too.
Answer: The most recent study I've seen was back in 2008 by the Web Application Security Consortium [webappsec.org]. The study was compiled from the results of eight separate security assessment projects and had a total sample size of 12186 web applications made up from various industries. The study makes for a very interesting read, but I'll summarize a few of the key points for you here:

There were 97554 detected vulnerabilities of different risk levels.
More than 13% of all reviewed sites can be compromised completely automatically.
About 49% of web applications contain vulnerabilities of high risk level (Urgent and Critical) detected during automatic scanning.
At least 88% of web sites have a serious vulnerability (ranked Urgent, Critical, or High by the PCI-DSS standard).
99% of web applications are not compliant with PCI DSS standard.

Keep in mind these figures are about four years old, and four in internet years is a lifetime (in other words: take them with a grain of salt). That being said, I very much doubt any significant change was made to the percentage of vulnerable sites.
On a slightly related note, if you are interested in other security related statistics, there are two good sites that release reports on a slightly more frequent basis.

One is a DHS sponsored cyber security site [us-cert.gov], whose latest report can be found here (pdf).
Another (which you're probably already familiar with) is the Open Web Application Security Project [owasp.org], whose latest report can be found here.
Answer: WhiteHat Security's 2011 annual report has some detailed statistics on the web sites they monitor, and what fraction of them are vulnerable.
Here are some highlights:

84% of web sites were vulnerable for at least 30 days out of 2010.  (In other words, count the number days in 2010 when the web site had at least one serious vulnerability.  For 84% of web sites, this number was 30 days or more.)  44% were vulnerable for every day in 2010.
About half of banking sites were vulnerable for at least 30 days of 2010.  16% were vulnerable for every day in 2010.
Most other sectors were comparable to the overall rate for all websites.  In other words, banking sites are the exception; everyone else is pretty similar.
The average website had a total of 230 serious vulnerabilities at one point or another in 2010. The average banking web site had a total of 30 serious vulnerabilities in 2010.
Of the vulnerabilities that have been fixed, the median time to fix them is about 116 days (taken over all websites).  (The corresponding number for banking sites is 13 days.)  However, many of the vulnerabilities have not been fixed, so these numbers probably underestimate the true time-to-fix.

The report defines a serious vulnerability as one that would be classified as High, Critical, or Urgent severity by the PCI-DSS standard.
So it sounds like something in the ballpark of 80% of web sites are vulnerable to various attacks.
Answer: Veracode released some data on the web applications they've analyzed.  Here are some highlights.
On compliance with OWASP standards, which say that your application should not have any vulnerability in the OWASP top 10 (see Figure 24):

16% of government web applications have no detected vulnerability in the OWASP top 10
24% of finance industry web applications have no detected vulnerability in the OWASP top 10
28% of commercial web applications meet have no detected vulnerability in the OWASP top 10

(Footnote: This is for the first submission of the application to their service.)
On compliance with SANS standards, which require that you don't have any vulnerability on the SANS top 25 list (see Figure 25):

18% of government web applications have no detected vulnerability in the SANS top 25
28% of finance industry web applications have no detected vulnerability in the SANS top 25
34% of commercial web applications have no detected vulnerability in the SANS top 25

The methodology is not clear from the web site.  It is not clear how many of the non-compliant web applications are vulnerable (or, for that matter, how many of the compliant web apps are vulnerable).
They also report statistics on the prevalence of various vulnerabilities, in the web applications they have analyzed (see Table 7):

75% of government web applications were vulnerable to XSS
67% of finance industry web web applications were vulnerable to XSS
55% of commercial web applications were vulnerable to XSS

and

40% of government web applications were vulnerable to SQL injection
29% of finance industry web web applications were vulnerable to SQL injection
30% of commercial web applications were vulnerable to SQL injection

In short, it appears that something like at least 80% of web applications are vulnerable, according to their stats.
Comment: I appreciate the collection of all these stats, this is very good. Can you make sure to update this answer after Veracode releases?
Comment: @AviD, OK, done.


The Purpose of gaining knowledge

Question: Now, SubhanAllah I love gaining Islamic education but I am just worried that whether the purpose of it is wrong in the sight of Allah, may he be glorified and exalted, or not. I basically gain knowledge of the Quran to do Dawah and my motive is to benefit my ownself (meaning that even I would gain knowledge) as well in the long run. Is it correct to have this purpose in mind while gaining knowledge or not ?
Comment: I don't think that any of the added tags fit here!
Comment: What do you mean by "to benefit my ownself"? Care to elaborate more on that?
Comment: @Amir Syafrudin edited
Answer: If I understand correctly, your direct benefits of gaining knowledge are:

To be more knowledgeable during da'wah.
To be more knowledgeable in living your life as a Muslim.

While those are sufficient (that's also what I'm aiming at when studying Islam), explicitly stating your indirect benefits, e.g. gaining paradise, is also important. Why? So that we can separate which knowledge is beneficial for that indirect benefit and which one is not. Otherwise, we might walk in a path of gaining knowledge that is not rewarded by Allah.
I think we all have seen people went astray when they're studying Islam. They study Islam, but in the end, the "play" with the rulings. They took the liberty of questioning everything to the point where it corrupts their own faith (and, perhaps, the faith of others). Instead of bringing themselves (and others) to Islam, they put some kind of a distance to Islam (and put others with them). This, in my opinion, might serve all those direct benefits, but definitely defeats the purpose of gaining paradise. This is the path that we all should avoid.
In short, you should continue down the path you're taking right now, but please be sure that the end of the path is (being rewarded by) Allah.
Allah knows best.
Comment: You understood my direct benefits really well ...
Comment: We simply think alike in this matter, Brother. :)
Comment: Well, what's the actual criteria, moral and scientific, to determine the extent to which we should keep questioning our religious beliefs? I mean why is it wrong to freely question them no matter how well-established they have been in the past? I mean isn't our instinct to question things itself a God-given faculty? Why do we tend to think that a God-given faculty which is vital for our understanding should be prevented from performing its natural function for preserving our current belief system while our existing belief system itself is an outcome of our past questions and researches?
Answer: The Qur'an is full of promises of heaven for those who obey God, and hell for those who disobey. Although interpretations may differ, perhaps it could be taken as a sign that self-interest is ok: if God didn't expect you to act in your own self-interest, it seems he would not offer punishment/reward as your motivation. That is not to say that punishment/reward would be your only motivation; presumably love for God is a big factor. But punishment/reward is by far the most abundantly mentioned motivation, at least in the Qur'an.

The Purpose of gaining knowledge


How can I fix a door that is leaning into my bathroom?

Question: My bathroom door is leaning into the bathroom. The bottom of the door will touch the frame before the top does. Not sure what is causing it.  It looks like a 2-3 degree tilt into the bathroom from the bottom to the top of the door.
Comment: Are you sure your bathroom didn't tilt in the opposite direction?
Comment: *I'd* fix it with a sledgehammer and a 2x4 (seriously), but I don't really suggest *you* trying that.
Answer: If it's a wooden door, the door leaf could have warped/twisted. Quite often you can (if you have the space e.g. a workbench) cramp the door up so that it is twisted the opposite way, leave it for a few days and then when you release the cramps the door will spring back to a position where it is (substantially) flat.
If the door is already flat, then it may be that it has been hung incorrectly and you would need to recut the hinges most likely.
Answer: Moving hinges and stops leaves you with a wonky setup that's visually odd and may result in poor latch alignment.
I'd start by checking for door warp. Get on a stool and look downward along the edge of the door. Swing your eyeline up to the far edge. Do you see a twist? If so, try flexing the door manually to adjust it. Place a shoe or some other padded blocky item in the path of the door and give it a few nudges. See if that has an effect. If not, consider bracing it under pressure for a few days to see if it relaxes and flattens.
If the door is flat, you may need to reset the jamb (door frame). If the wall has a twist in it, and the jamb was set flush with the wall, obviously the jamb will be twisted as well.

Remove the casing (wall trim) on the hinge side of the door opening (or both, if convenient).
Place a long (4-6 ft.) level vertically against the hinges. Check for plumb in both directions (parallel and perpendicular to the wall). Adjust as needed with shims, long screws through the hinges, and/or hidden screws behind hinge leaves.
Now close the door and look at the gap at the top and latch side. It should be uniform and parallel. Adjust as needed.
Check plumb on the latch side of the jamb, perpendicular to the wall (into and out of the room). You may need to set the jamb crooked with respect to the wall. This can be remedied to some extent by careful re-installation of the casing. You may need to shave back the drywall or plaster to get it to fit well.

By having all components of the jamb plumb, the door should now close well.
One trick to prevent latch rattle is to bend the tab on the strike plate slightly toward the jamb stop. This gives the bolt a surface to slide against when it pops back out into the latch bore, and maintains tension when the door is closed.
Answer: Check the frame for a lean with a level.  If the frame is square and true then you need to rehang the door: I.e., chisel out the hinges and rescrew them so the door hangs and swings perfectly perpendicularly to the frame.
Comment: The door could be warped too.
Answer: You can also use that same four to six foot level and lay it against the door and if there are any gaps on both ends of a level or in the middle of the level then you'll know the door is warped. Doors can be very tricky there are some Handymen that specialize in nothing but doors. Your house may have settled pushing the rough framework that the door frame is mounted in out of square or plumb that could be part of your problem as well and it could have miss shaped your door frame when this happened. In cases like this I often check the door for being warped first and if it is not then I will dismount the entire door frame and then remount it and let it relax as in don't screw it into type to conform to the shape of the rough opening as the rough opening might not be square anymore due to settling. You can shim it back up and screw it back in once again remembering to let the door frame relax. While you have the old door frame dismounted check it for squareness with a framing square in all corners. If it is square proceed with remounting the door and you shouldn't have any more problems as long as you let the door frame stay relaxed and square and don't make it conform to the shape of the misshapen rough opening.
Answer: If you want a quick/easy fix, just reset the door jamb.  The jamb is the 1 x 1/4 moulding that the door hits when it is closed.  This can be removed and a new one added where the door actually closes.  As long as the door isn't too far out of line, no one will ever notice.
Comment: I believe you're referring to the "stop". The jamb is the entire door frame. They're usually more like 3/8" to 1/2" in thickness. Moving the stop could seriously mess up the latch alignment.


Editable TextView with Second NavBar - Text appears, but too late

Question: Editable TextView with Second NavBar - Text appears, but too late.
The app has a single Navigation Controller.
I have an iPhone App that has basically three levels.

Level 1 - Table with category Names
Level 2 - Table with list of items for selected category
Level 3 - Tabbed View with several views, including UITextView for details of item
One to these Tabbed Views with a TextView is editable.
When the user taps in the editable TextView the KeyBoard
appears. User can type in the TextView. Characters appear
as they are typed.
At the top of this Level 3 TextView there is a NavBar (present for all 3 levels with
changes) with a BackButton and a "home->Level1" button on the right.

All works just fine until in the editable TextView I add a second NavigationBar
below the existing NavBar. This second NavBar has two buttons
as well. They are Save/Cancel.
When I click these Save and Cancel buttons the correct action
methods are reached. All is perfect with one exception, The text
which is typed does not appear in the TextView until either
the Save or the Cancel button is touched. The relevant Button setup and
action methods in my TabViewController.m are below. I need to persist this
data.
I thought that getting a Notification from the TextView and the action handleTextChange would do the trick, but no luck. I am stuck.
.........
- (void)loadView {

    self.myTextView = [[UITextView alloc] init];
    self.myTextView.delegate = self;

    self.view   = self.myTextView;
    //UITextViewTextDidChangeNotification
    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
    [nc addObserver:self
    selector:@selector(handleTextChange:)
    name:UITextViewTextDidChangeNotification
    object:nil];
    NSLog(@"Registered DG_HandleChangeTextNotification with notification center.");

}

- (void)handleTextChange:(NSNotification * )note
{
    [self.myTextView  setNeedsDisplay] ;
    NSLog(@"...Handled Text Change.");
}

- (void)textViewDidBeginEditing:(UITextView *)textView
{
    // provide my own Done/Save button to dismiss the keyboard

    saveNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    saveNavigationBar.barStyle = UIBarStyleBlackOpaque;
    UINavigationItem *doneItem = [[UINavigationItem alloc] init];
    doneItem.title = @"My Notes";

    UIBarButtonItem *doneItemButton = [[UIBarButtonItem alloc]
      initWithBarButtonSystemItem:UIBarButtonSystemItemSave
        target:self action:@selector(saveAction:)];
    UIBarButtonItem *cancelItemButton = [[UIBarButtonItem alloc]
      initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self
        action:@selector(cancelAction:)];

    [doneItem setRightBarButtonItem:doneItemButton animated:NO];
    [doneItem setLeftBarButtonItem:cancelItemButton animated:NO];
    [saveNavigationBar pushNavigationItem:doneItem animated:NO];

    [self.view addSubview:saveNavigationBar];

    [doneItem release];
    [cancelItemButton release];
    [doneItemButton release];
}

- (void)saveAction:(id)sender
{
    // finish typing text/dismiss the keyboard by removing it as the first responder

        self.text = self.myTextView.text;
    [self.saveNavigationBar removeFromSuperview];

    [self.myTextView  resignFirstResponder];

}

- (void)cancelAction:(id)sender
{
    [self.saveNavigationBar removeFromSuperview];

    [self.myTextView  resignFirstResponder];

}

Comment: The Second NavBar was hiding the area of the UITextEdit
such that I had to type about four lines before I saw the text. I believe I need to lower the height of the UITextEdit by 44 pixels.
Answer: The Second NavBar was hiding the area of the UITextEdit
such that I had to type about four lines before I saw the text. I believe
I need to lower the height of the UITextEdit by 44 pixels.


Current Amplification in Common Base Transistor

Question: How does a common base transistor amplify current if a small part of its emitter current gets divided into base current and the rest goes to collector current? If the input signal is applied to the emitter part of the transistor then the output current in the collector part should be less than the input one. Then how is the current amplified where the current flow actually decreases rather than increasing?
Answer: A common base transistor doesn't amplify current (meaning its current gain is less than unity), for reasons you have noted. It is often used as a current buffer, with a current gain of nearly one. A current source might have a low output resistance, which causes the current delivered to its load to drop if the load resistance is not much less than the source output resistance. A current buffer can provide a high output resistance so that the source current can be delivered to loads with much higher resistance.
The common base (and common gate) configurations are essential components in the very common cascode amplifier.
Comment: The very first transistors were point contact devices with current gain in the common base configuration. But those are no longer used.


Are PKI PQC algorithms slower than their nonPQ counterparts? (e.g. NTRU vs RSA)

Question: Are the methodologies (hard problems being used to secure the encryption) in post-quantum algorithms inherently slower than what we have right now? If not, why weren't they used initially?
Comment: Any good block cipher with 256 bit keys like AES-256 is secure against Quantum computers. [NIST PQC](https://csrc.nist.gov/Projects/post-quantum-cryptography/round-3-submissions) doesn't include encryption rather, Key establish, Digital signature, public-key encryption. You might need to change your question. The answer is already yes.
Answer: Computation wise, there are schemes faster in some functions (e.g. KEM, sign, verify).
Commnication cost wise, generally PQC schemes have larger communication cost than current public key cryptosystems.
For speed comparison, you may checkout https://bench.cr.yp.to/supercop.html
For some real-world application attemps, you may checkout https://blog.cloudflare.com/the-tls-post-quantum-experiment/
Or you can do benchmark on your own: https://openquantumsafe.org/liboqs/
Answer: Found the answer:

At equivalent cryptographic strength, NTRU performs costly private key operations much faster than RSA does. The time of performing an RSA private operation increases as the cube of the key size, whereas that of an NTRU operation increases quadratically.

While NTRU is technically faster than RSA in encryption operations per second, it is not overall faster in verification, so which is faster depends on a breakdown of your usecase. (see @Habib's comment)
Sources: https://tbuktu.github.io/ntru/, https://homes.esat.kuleuven.be/~fvercaut/papers/ntru_gpu.pdf
Comment: While this is true, it is misleading. Generally, verification time is the most important time between key generation, signature, and verification algorithms. And, I believe there is no digital signature that can beat RSA in that (with 65537 as the exponent.) Also, performance is not only about computational complexity but also signature and public-key size. Lower performance is an important factor against PQC adaptation. However, the main reason is that they hasn't been studied enough. Every now and then, a new attack against PQC algorithms pops up.
Comment: @Habib: "And, I believe there is no digital signature that can beat RSA in that (with 65537 as the exponent.)" - counterexample: Rabin-Williams :-)
Comment: @Habib thanks, I'll edit my answer to address that. Actually, no point in that seeing as your comment is detailed enough


1st admendment autitor

Question: A person came to our location( business)  as a first amendment auditor,during protesting up the street. Began filming how to get into our building and how many people inside. Came on property,but filmed that she was not.
We feared we were being robbed.She filmed staff car plates, VIN and posted person info. One lady freaked out and attacked her. Found out she posted the whole company faces and info on you tube.We asked you tube to remove us. We were told she has a right to post us without permission. One lady is getting death treats,another sexual harassment calls and they are going to another guys house. All in the name of a person called "Furry potato"  and the 1st amendment she is suing 5 companies, and was shot last year. Is there ANY way to have youtube remove these channels ? She has 2 is there anyway to get the faces taken down or removed ?
Comment: Then get better lawyers - only a bad lawyer would be afraid of being targeted because of the other sides gender situation, because only a bad lawyer would put themselves in a position where their case can be attacked on that basis.  Get better lawyers.
Comment: Why have you not spoken to police about threats and harassment? YouTube have told you their answer, changing it will require work of a lawyer (we can't tell you what to do, because that's legal advice we can't give).
Comment: What does the first amendment have to do with anything here?  You, she and Youtube are all non-government entities, so the first amendment almost certainly doesn't apply.  She can call herself a "first amendment auditor" all she wants, she can also call herself the emperor of the United States - both have the same status.  None.  Get a lawyer and let them loose on the situation.
Comment: My goal is to figure out how to get it taken down on you tube. She's sick and crazy.I have filed 4 police reports and a restraining order. I am just trying to see what other options and opinions out here. many lawyers are scared because she trans smh this is NOT  the 1st they had in mind.but she does.
Comment: Thank you. I will keep trying. I appreciate the advice, I really do.
Answer: You can flag the content as a violation of Youtube's "community standards". These are not enforceable legal requirements, but they are conditions that posters must abide by. Crazy claims about the First Amendment are irrelevant.
YT has the power to remove the content on that basis. However, it appears that they do not agree with your complaint, which might mean that you failed to make the right complaint (many court cases are tossed out because a plaintif "fails to make a claim"). This is basically between you, whatever PR folks that you have that could persuade YT that they are acting irresponsibly, and YT.
News shows commonly broadcast paces of people without permission – this is entirely legal. Likewise cars, buildings, etc. Usually, you can't photograph a VIN without trespassing, so you could notify the police or at least point this out to your attorney, but this doesn't involve Youtube, instead you might sue the photographer.
Comment: Thank you- I appreciate the comment and help. I will keep trying. The sexual comments to my daughter on this whole thing has really made her depressed. It's just frustrating.But, thank you again.

1st admendment autitor


Adobe Illustrator file to STL (STereoLithography) file

Question: I have made a vector graphic in Illustrator and would like to know if it is possible to add a depth to it and convert it into an STL file suitable for 3D printing purposes?
Comment: Well, it is possible to script such an export.
Answer: Not in Illustrator alone, but any 3D program worth its salt can do that. What you want to do is:

Export your graphic from Illustrator as .svg
Import the .svg graphic into your 3D program
Extrude your graphic to desired height
Export that as .stl

Personally, I use Rhino3D, but it has a bit of a steep learning curve and is pretty pricey. Use whatever .stl capable 3D software you are familiar with. If you never used any, try something like the free and newbie-friendly tinkercad. I managed to make a quick extrusion of my logo in less than a minute.

When you upload the .svg to tinkercad, it will automatically add depth to your 2d graphic. You can adjust the depth by dragging different handles.
Few things to keep in mind:

For best results, make your graphic into a single shape (I am not sure how tinkercad handles multiple shapes in one extrusion, but if they are not a single solid, you might run into problems when printing).
Bear the size in mind. When importing, tinkercad will ask you how big you want your shape (in millimeters). This is the size the object will be printed. Depending on where your print, you might be able to change the scale just before printing, but better safe than sorry.
Be careful of tiny details. Depending on the printer used, there will be minimal size the detail can print. If you go below that size, the printer will just create a blob over there.
as user287001 mentioned, when 3d printing, you will lose everything but shape (so color, raster textures, etc).
Comment: Thank you for you very detailed answer, I have used a 3D printer before so I already know somethings about it. I was just wondering if there was a way to make my AI Graphics 3D. Have a nice day!
Comment: thanks for the thingiverse rec- I was failing with openscad, couldn't do it with meshmixer, was kinda running out of options.
Answer: Illustrator has rudimentary tools to add depth (Effects > 3D) but the user interface gives no way to output the internally generated 3D model. A top notch software hacker might find a way, but for ordinary users it's "no way". The user gets only the rendered 2D image into his current drawing.
Your best bet is to export your image into a proper 3D program. There are plenty of export formats for that.
In the export the original structure of your Ai creation is very much lost. In the 3D program you cannot adjust gradients, meshes, masks, multiple appearances, brushes etc... that make Ai THE tool of 2D vector artist. Even the smooth curves are replaced by polylines in some export formats.
If some parts need different treatment in 3D program than the others, keep them separate, because trying to separate them in 3D program easily gives totally unexpected results.
ADDENDUM: There are a couple of poular free 3D prorams that are reduced versions of their commercial counterparts. Those free programs are

Trimble SketchUP
Design Spark Mechanical

Both of them can easily be used to produce even quite complex STLs for 3D printing. So, they are widely used for that purpose. You should know some of their limitations before you start with them. The limitations are planned to prevent serious pro working with free versions.
At first: Free versions accept your Ai drawing only as rasterized image (JPG, TIF, PNG). This makes your vector drawing nearly useless for those programs. You can use the raster image as a reference, but you must redraw.
Secondly: Easy 3D texts (write, select font and extrude or imprint onto a surface) are disbled