Building Financial Data Time Series Database from scratch

Question: My company is starting a new initiative aimed at building a financial database from scratch.
We would be using it in these ways:

Time series analysis of: a company's financial data (ex: IBM's total fixed assets over time), aggregations (ex: total fixed assets for the materials sector over time), etc.
Single company snapshot: various data points of a single company
Analysis of multiple companies across multiple data fields for a single time frame, usually the current day.
Backtesting, rank analysis, data analysis, etc. of ideas and custom factors.

Approximate breadth of data:

3000 companies
3500 data fields (ex: total fixed assets, earnings, etc.)
500 aggregation levels
Periodicity: daily, monthly, quarterly, annual
20 year look-back that would grow over time

Questions:

What database should we choose? We are currently limited to free options and we prefer open source (on principle). Currently we use PostgreSQL.
How should I structure this schema-wise? I am thinking of breaking up the field types into categories (balance sheet, descriptive, income statement, custom calculations, etc.) so each company would have a table for balance sheet, descriptive, income statement, custom calculations, etc. with each row representing one day and appropriate fields for the category of table for columns/fields. That will be my fully normalized database. Using the fully normalized database, I will then build a data warehouse, temp tables, views, etc. that are not fully normalized to make queries fast for the various use cases described previously. One issue with this approach is the number of tables. If I have, say, 5 categories of company data and 3000 companies I will have 15,000 tables in my fully normalized database for just storing the company data. But still, from my perspective, it seems like the best way to do it.
What is the best strategy for indexing and structuring the time series portion of this? I've talked to a few people and I did some research on time series database indexing/structure, but help/references/tips/etc. in this area, even if they duplicate what I have found, would be helpful. I realize this depends on the answer to #1 above, so maybe assume I am staying with PostgreSQL and I will be building out the "time series" functionality specific bells and whistles myself.

Notes:

In-depth technical answers and references/links much preferred.
This is for a small buy side financial investment firm.
If you have been down this road before, suggestions outside of the scope of my initial question are welcome.
We cannot compromise on the amount of data, so reducing the amount of data isn't an option for us; however, the numbers I supplied are estimates only.
If there is a better place to ask this question, please let me know.
There is much more to what we want to do, but this represents the core of what we want to do from a data structure perspective.
Comment: Have you considered using https://github.com/manahl/arctic ?
Comment: I think the API it provides is very friendly and the author says the performance should compare favourably to OpenTSDB / Kairosdb.( I haven' t tested myself.) Kairosdb based on Cassandra might also be worth trying. You can run some benchmarks to see which fits your needs.
Comment: @Hotone - after working at a hedge fund since 2011-02-14 and working my way up to CT/CRO, I was fire in 2018 because I wouldn't break Bloomberg's data license agreement. Lol. I left there while I was still developing this project.  So, no info to give in this question. I will likely be revisiting this type of project again with my nonprofit,  Confidence Infinite International. I'll try to post info then. Go luck, don't change anything until you start to bump into issues. Don't future proof too much.
Comment: No haven't. Do you think it is a good fit? I skimmed the description and I'm not sure it does better than pg with the column store extension or Cassandra. What do you think?
Comment: @ mountainclimber, could you please share your feedback on your initiative i.e. which database did you finally choose (did you try other alternatives), pros/cons of current implementation, suggestions etc? Thanks
Comment: @SM4 - Yes, I plan to once we get it into production. I decided to start with a PostgreSQL DB partly because I am familiar with it and I like to support free open sources solutions when I can. So far so good, but we really don't know until we use it a lot. My guess at this early stage is that once we start using it we will see a need to create a data warehouse that will make user queries faster, which was part of the plan. So far, it still seems like we made the correct decision, but time will tell and I plan to update the OQ once I can confidently say how it turned out.
Comment: @ mountainclimber thanks. Actually, I am in a similar spot, but I chose to start w/ flat file schema instead of MS SQL (plan B).  I would love to share with you my experience so far and see how RDMBS performs. What programming environment (C#,C++,Java,Python etc.) are you using to maintain your infrastructure (CRUD operations)? Also, are you getting the data from a third party vendor (Bloomberg, Thomson, Factset)?
Comment: @SM4 - I am coming to the conclusion that many general purpose languages would serve you well for ETL/infastructure/CRUD. I'd say pick something you know and can do the job. Yes third-party data vendor. Happy to collaborate after I am through the thick of it.
Comment: @mountainclimber - how are you dealing with corporate actions? I mean do you store raw (backtesting) and normalized (research) datasets?
Comment: Would it be possible to share your experience and what framework you went for and eventually what framework you are now using (assuming this project is still up-and-running). I am storing my own financial data currently on postgreSQL and I am currently wondering if switching to flatfiles would be more convenient for me ( I found @drobertson answer very interesting/appealing). Interested in your feedback
Answer: I am going to recommend something that I have no doubt will get people completely up in arms and probably get people to attack me. It happened in the past and I lost many points on StackOverflow as people downvoted my answer. I certainly hope people are more open minded in the quant forum.
Note - It seems that this suggestion has created some strong disagreement again. Before you read this I would like to point out that this suggestion is for a "Small buy side firm" and not a massive multiuser system.
I spent 7 years managing a high-frequency trading operation and our primary focus was building systems just like this. We spent a huge amount of time trying to figure out the most efficient way to store, retrieve and analyze order level data from both the NYSE, NASDAQ and a wide variety of ECNs. What I am giving you is the result of that work.
Our answer was Don't Use a Database. A basic structured file system of serialized data chunks works far better.  Market time series data is unique in many ways, both in how it is used and how it is stored. Databases were developed for wildly different needs and actually hurt the performance of what you are trying to do.
This is in the context of a small to mid-sized trading operation that is focused on data analysis related to trading strategies or risk analytics. If you are creating a solution for a large brokerage, bank or have to meet the needs of a large number of simultaneous clients then I imagine that your solution would differ from mine.
I happen to love databases. I am using MongoDB right now for part of a new project allowing us to analyze options trades, but my market timeseries data, including 16 years of options data, is all built into a structured file store.
Let me explain the reasoning behind this and why it is more performant.
First, let's look at storing the data. Databases are designed to allow a system to do a wide variety of things with data. The basic CRUD functions; Create, Read, Update and Delete. To do these things effectively and safely, many checks and safety mechanisms must be implemented. Before you read data the database needs to be sure the data isn't being modified, it is checking for colisions, etc.. When you do read the data in a database the server puts a lot of effort into caching that data and determining if it can be served up faster later. There are indexing operations and replicating data to prepare it to be viewed in different ways. Database designers have put huge amounts of effort into designing these functions to be fast, but they all take processing time and if they are not used they are just an impediment.
Market time series data is stored in a completely different way. In fact, I would say it is prepared rather than stored. Each data item only needs to be written once and after that never needs to be modified or changed. Data items can be written sequentially, there is no need to insert anything in the middle. It needs no ACID functionality at all. They have little to no references out to any other data. The time series is effectively its own thing.
As a database does all the magic that makes databases wonderful it also packs on the bytes. The minimum space data can take up is its own original size. They may be able to play some tricks with normalizing data and compression, but those only go so far and slow things down. The indexing, caching and referencing the data ends up packing on the bytes and chewing up storage.
Reading is also very simplified. Finding data is as simple as time & symbol. Complex indexing does it no good. Since time series data is typically read in a linear fashion and a sequential chunk at once, Caching strategies actually slow the access down instead of help. It takes the processor cycles to cache the data you aren't going to read again anytime soon.
This is the basic structures that worked for us. We created basic data structures for serializing the data. If your major concern is speed and data size you can go with a simple custom binary storage. In another answer, omencat suggested using TeaFiles and that looks like it has some promise also. Our recent need is for more flexibility so we chose to use a fairly dense, but flexible JSON format.
We broke the data up into fairly obvious chunks. The EOD stock data is a very easy example, but the concept works for our larger datasets also.
We use the data for analysis in fairly traditional time series scenarios. It could be referenced as one quote or out to a series containing years of data at a time. It was important to break the data down to bite-sized chunks for storage so we chose to make one "Block" of our data equal one year of EOD stock time series data. Each block is one file that contains a year of OHLC EOD data serialized as JSON. The name of the file is the Stock symbol prefixed by an underscore. Note - the underscore prevents issues when the stock symbol conflicts with DOS commands such as COM or PRN.
Note, make sure you understand the limitations of your file system. We got in trouble when we put too many files in one place. This led to a directory structure that is effectively its own index. It is broken down by the year of data and then also sorted by the first letter of the stock symbol. This gives us roughly 20 to a few hundred symbol files per directory. It looks roughly like this;
\StockEOD\{YYYY}\{Initial}\_symbol.json
AAPL data for 2015 would be
\StockEOD\2015\A\_AAPL.json
A small piece of its data file looks like this;
<code>[{"dt":"2007-01-03T00:00:00","o":86.28,"h":86.58,"l":81.9,"c":83.8,"v":43674760},
{"dt":"2007-01-04T00:00:00","o":84.17,"h":85.95,"l":83.82,"c":85.66,"v":29854074},
{"dt":"2007-01-05T00:00:00","o":85.84,"h":86.2,"l":84.4,"c":85.05,"v":29631186},
{"dt":"2007-01-08T00:00:00","o":85.98,"h":86.53,"l":85.28,"c":85.47,"v":28269652}
</code>
We have a router object that can give us a list of filenames for any data request in just a handful of lines. Each file is read with an Async filestream and deserialized. Each quote is turned into an Object and added to a sorted list in the system. At that point, we can do a very quick query to trim off the unneeded data. The data is now in memory and can be used in almost any way needed.
If the query size gets too big for the computer to handle it isn't difficult chunking the process. It takes a massive request to get there.
I have had programmers who I described this to almost go into a rage telling me how I was doing it wrong. That this was "Rolling my own database" and a complete waste of time. In fact, we switched from a fairly sophisticated database. When we did our codebase to handle this dropped to a small handful of classes and less than 1/4 of the code we used to manage the database solution. We also got nearly a 100x jump in speed. I can retrieve 7 years of stock end of day data for 20 symbols in a couple of milliseconds.
Our old HF trading system used similar concepts but in a highly optimized Linux environment and operated in the nanosecond range.
Comment: Can't believe you lost points over this! It should be common knowledge (at least in the quant world) that flat files perform and scale better than *any* (even KDB and friends) database.  The only downside is the lack of a query language.
Comment: After quick first read, very interesting! I will research this more. It makes sense conceptually. I'll be back with questions soon. Thanks again!
Comment: @mountainclimber If you are interested in this approach I would be happy to collaborate. I started one of the earlier high-speed Arb/HFT shops back in 1999 and have been in the business ever since. I am focused on more consumer level projects right now, so no conflict.
Comment: Note - my answer above was focused almost entirely on the time series data. For the fundamentals data, I would strongly suggest a NoSQL solution like MongoDB or some of the fresher database solutions.
A document DB will give you the flexibility you will need for financial data. It is far from standardized and a typical SQL database model will be a challenge to make work in all cases.
Comment: @hroptatyr yeah, I think it was some web-oriented guys, but I got slammed for even suggesting flat files could perform better than their beloved database. Even after showing performance data they wouldn't back down. It put me off stack overflow for a while.
Comment: @drobertson - I'm still here, working on this when I can. I would love to collaborate. Is there a way to message users directly in SO?
Comment: Regarding the file structures themselves, we went for one file is one column and since everything is time quantized, all space is pre-allocated, including for the foreseeable future so time = index; its big, eats up a lot of ram but it's insanely fast. The files are just storing binary floats so there is absolutely no overhead.
Comment: So many years passed, don't know if this advice is still valid since there are so many new time series database, like InfluxDB or timeScaleDB etc. But yeah, as NeverEndingQueue pointed out, wouldn't CSV better compared with JSNO
Comment: @user2189731 Technically, Packed Binary would likely be the best choice.
Comment: No, there is no way to private message in SO. The best bet is to temporarily put up contact information that wouldn't be horrible if it was compromised. Possibly a temporary email address. Then delete it shortly after. If you do put an email up obfuscate it some so it is harder to grab by bots. I am human and can figure out hints. It would be interesting for me to work on this and I am happy to share back with the SO community also.
Comment: @mountainclimber here is a throwaway email address you can use to contact me; firstname.lastname@example.com
It expires in 48 hours and is useless after that. Just send me your contact info and I will reach out to you using that. This prevents either of us from having to expose a real email on the public site.
Comment: I sent you an email Friday afternoon.
Comment: @mountainclimber yes, I responded to you email in that.
Comment: @hroptatyr to answer an aspect of your earlier comment. We are effectively using LINQ as our query language. It is fairly easy to know what the raw data you need to work with is and LINQ does the heavy lifting for any data wrangling we need. Overall I haven't found many downsides to the aproach.
Comment: If we talk about performance, wouldn't CSV format be more performant? Using less storage and giving you option to load data in chunks vs JSON which you need load whole at once to read it.
You can also easily append data to CSV, while it's not possible with JSON.
Just my thoughts.
Comment: We have done the same but still use 2 databases: we have flat files and use Mongo's gridfs to store the files. And we send all the data to InfluxDB to have the visualization tools. The data server loads the files and everything needed stays in memory, the queries are hard coded to return result from memory and files get regularly synced with mongodb.
Comment: Thanks. So would you shine some light on why "JSON", if possible? One reason I can think of is the format supporting for date-time? Or maybe you have downstream tool that only support JSON? @drobertson
Comment: Hi @drobertson, very interesting answer! Are you still active here?
Comment: I keep an eye on things but I don't post often.
Comment: @drobertson I am very interested in what you mentioned in your reply and subsequent comments. Since you offered to collaborate on this topic and provided contact details, I wondered if you might be interested in doing it again. I would like to ask you some general questions.
Comment: Hi @drobertson, Would you explain in more details. Why you said that packed binary would likely be the best choice? If the data/database is mapped in memory,   there is no difference between binary or flat file anymore because all the data has been a part of memory.
Answer: All of the answers above (unfortunately highly upvoted at this point) are missing the point. You shouldn't pick a DBMS or storage solution by general performance benchmarks, you should pick it by use case. If someone says they get a "x ms read", "y inserts per second", "k times speedup", "store n TB data" or "have m years of experience" and use that to justify a proposal to you, don't trust that person.
I can describe a common breaking point for every single one of the proposed solutions above:

Flat files: This is a bad idea when you start to have many client applications, you have a small team, and/or you need to access this data in realtime. Even a small team can have hundreds of processes on heterogenous servers hammering the data simultaneously, so you start making this a hardware or file system problem if you store your data in flat files and rely on your own applications to manage concurrent access. Even 10-20 year old RDBMSes do a fairly decent job of managing this that would take nontrivial amount of time for your own developers to replicate. Writing low level concurrent software to deal with network I/O bounds or file system limitations is almost always more expensive than figuring out how to implement a cluster database or sharding with open source tools, and if you have a small team, your developer time is infinitely more valuable than single file query speed. You said that you plan to backtest against the data store - yeah sure, you can backtest at 500 MB/s to 2 GB/s (millions of entries per second, cool!) on a single server with a plain file on a fast SSD, but it's nontrivial to scale this with plain files.
Column-oriented time series database: Most people mistake modern database optimizations with the column-oriented advantages. More modern DBMSes have clever parallel radix hash joins, SIMD-based aggregation operations and the likes which explain their speedup. Say, in theory, a row-oriented DBMS should always outperform a column-oriented DBMS in write speed, but you'd see the reverse in many benchmarks because many column-oriented DBMSes have more modern ways to defer metadata generation or maintain indices. In the end, column-oriented is
i. A bad idea when you almost always fully materialize your records early. For example, suppose you are just storing {time, best_bid, best_ask} and you are just selecting all the columns in the time interval $[a,b]$ because you are doing exploratory analysis and don't yet know what function $f(best\ bid, best\ ask)$ you want to work with. First, the cache advantage of sequentially going through the times (stored continguously) in $\mathbb{O}(n)$ loses to the algorithmic advantage of chasing pointers through the index B-tree in $\mathbb{O}(\log n)$. Most column-oriented DBMS architects are aware of this and implement their query optimizers to fall back on the index if the query follows this pattern, so both row-oriented and column-oriented DBMS are evenly matched here. But at the materialization step, the column-oriented DBMS still has to deserialize the separate columns back into row-oriented records, whereas the row-oriented DBMS just writes out the data in storage order and should be faster in theory.
ii. Negligible if your query qualifying sets are usually small. The biggest bottleneck is in loading a disk sector into memory. If your qualifying set is small, all of it lies on the same (few) sector(s) regardless of column-oriented or row-oriented layout, so there is no first order speed advantage in column-oriented layout.
iii. Expensive if you need third party support. There's only a few production strength column-oriented DBMSes, and getting a contractor to help you here is more expensive than getting free quality assistance on MySQL. If you want realtime applications subscribing to your database, chances are you need an expensive commercial solution because all the open-source options have weak support for such functionality.
NoSQL: Let's say you have 2 companies that decide to merge, which happens very often since you are looking at daily granularity. There's different conventions for handling this, but now how do you update the earnings associated with either company? There's no cascade-style data model in MongoDB, so now you offload the work from database-level to application level. This can be bad for a few reasons, (1) chances are, you hand this task to an analyst to do it for you, who is more prone to mess it up than letting the schema ensure integrity for you, (2) you need to write use-case-specific code to update specific fields in your JSON documents, which is difficult to maintain, (3) MongoDB, proposed above, has a rather inefficient serialization format (BSON) and almost all your applications downstream are going to get bottlenecked by the BSON library at some point.

Here's what I suggest you do: Stick with PostgreSQL because you are already familiar with it, design your schema in a futureproof way that is easy for you to migrate your data to any future solutions, determine where the performance bottlenecks of your use cases are before asking for a more specific solution.
You'll have to ask your end users what these bottlenecks are. Is it:

Backtesting
Running time range queries ("Get me all the data columns in this time range.")
Running aggregation operations ("I want to find max trade price, calculate total volume etc.")
Concurrent access ("I want to write my backtest results on server A while server B is broadcasting the results to server B and C.")
Maintaining complex relationships ("I need to know all the dividend date revisions and I have to update them frequently.")
Maintaining unstructured relationships ("This asset class has strike prices but this other asset class doesn't.")

The ideal solution differs depending on your use case.
Comment: @madilyn I am sorry that you felt the need to attack my answer. It is based on years of doing what I perceive to be his need. It was also specifically addressing the Time Series data which I have been actively working with for 17 years. I will make the assumption that you haven't worked with flat file data much because a few of your points are wrong. File systems are extremely easy to program against these days and I have not seen any issues relating to the FS since the mid-90s.
Comment: @madilyn I am a bit frustrated with the tone of your answer. If you would like to discuss the merits of each approach I would be happy to do that, but it doesn't benefit anyone to lash out at other answers.
Comment: @mountainclimber The performance doesn't suffer at all as you add new data. The entire indexing of the time series data is built into the naming of the files and folders. Since this is not relational data the indexing does not get more complex as you add data. The performance is a roughly linear relationship to the amount of data you request.
Comment: This opinionated and IMO biased answer nevertheless, ironically, comes to a fairly good conclusion: "just use postgres". However it is misguided to dismiss column stores with a long, jargon-laden but seemingly confused point 2.i) where it is clear that if you have a range-query use case a column store will outperform a non column store, and the idea that algos will default to a tree search as opposed to a hash function is stupid and reflects serious bias.

What you need to understand is that column store use case sits IN BETWEEN a flat file system and a full RDBMs. They exist for a reason.
Comment: "What you need to understand is that column store use case sits IN BETWEEN a flat file system and a full RDBMs." -> I generally agree with what you've written but this is founded on a naive understanding of column-oriented vs row-oriented. There is nothing that precludes a column-oriented database from having a relational data model, and therefore there is no 'inbetween'. In fact the most respectable column stores have a relational paradigm (Vertica, Vectorwise, Monet).
Comment: Thank you very much! Regarding your suggestion to build it then "determine where the performance bottlenecks of your use cases are before asking for a more specific solution" - Is a traditional approach and before asking this question it was my plan. I was however trying to avoid building it twice, if possible. Regarding "design your schema in a futureproof way that is easy for you to migrate your data to any future solutions" - Can you elaborate on what that might look like? What about my 15k table etc. issue mentioned my OQ?   Great stuff, thanks!
Comment: One last question. Can you expand on this statement "it's nontrivial to scale this with plain files"? Can you explain why? Sorry, I don't follow exactly. What aspect makes it not scale well? Thanks!
Comment: @madilyn  I also have done the same work above in MS SQL. The file system based code is easier to maintain and much faster for my needs. LINQ in .NET gives me an extremely flexible query system and adding a caching layer is easy to do if my use case has the need for repeated requests for the same data.
Comment: Point 2.ii) is absolutely correct, but in finance, we are often going to need large range queries, and my sense is that preparing for that eventuality, even if you don't use it up front, is wise.

Point 2.iii) however is utter nonsense. There are vibrant forums for both Cassandra and Hbase, bot are completely open source, the former is very easy to setup and trivially easy to scale, most definitely an order of magnitude easier to manage than Postgres at anything that even starts to resemble scale.
Comment: "There are vibrant forums for both Cassandra and Hbase." -> You are missing my point. Every DBMS named in this thread has a forum, open source community, and supporting documentation, however there's almost certainly fewer companies that provide enterprise support for Cassandra and Hbase. This is an important consideration for a small buy-side company that sometimes needs to outsource parts of its infrastructure development in a paid contract (in exchange for confidentiality). You can't get a forum to sign a NDA and help you design your database.
Comment: "However it is misguided to dismiss column stores with a long, jargon-laden but seemingly confused point" -> Again, you don't seem to have read my point properly. In fact I'm largely in favor of column stores for most use cases, I'm pointing out that (i) without knowing the exact use case, you can find a weakness in every solution proposed here, and (ii) as such, general benchmarks are pointless without knowing the use case.
Comment: This last point is essentially "horses for courses" and is unfortunately highly prevalent on all the stack exchanges and answers precisely nothing. One has to try to infer from where this fellow is coming from, and since there are 3500x3000 series one can reasonably postulate that we're talking about quite a lot of data, hence the column stores come into play. I think in general you are flying at far too high a level in your buzzword/jargon density to be useful to the OP. Flat files are, as you correctly point out, probably a bad choice. But relational v noSQL is a much more subtle discussion.
Comment: "...in between flat file and full RDBMS"... your equivalency argument. No. They're not the same. Because they're optimised for different use cases, and NoSQL does not burden itself with normalization and relational integrity. They were built, in the 2000s, precisely because RDBMSs were suboptimal for large amounts of generally flattish data. Of course they're also able to behave relationally, but usually client side, which is an utterly crucial difference which *must* be understood for correct advice, as it has all sorts of implications.
Comment: IMO, if I were to summarize all of this, I would say a) flat files bad, b) postgres good *unless* c) you have lots of range queries along one dimension and/or you have truly big data.

You should not listen to anyone who says that RDBMS == NoSQL capabilities because that is simply not true. If that were true, noSQL would not exist today.
Comment: Here's some reading that will help you: http://stackoverflow.com/questions/2798251/whats-the-difference-been-nosql-and-a-column-oriented-database
Comment: This is a strawperson. I said that you can have a relational column-oriented store, you parsed this as me saying that you can have relational NoSQL. It is clear you're coming at this from angle where you've only seen Cassandra and think that column-oriented implies NoSQL just because Cassandra is column-oriented and 'column-optional'.
Comment: Lastly, I'm sorry if the content comes across as dense "jargon". I'm actually tuning down to language you would use in a first course in modern databases. Generally anyone who has had 1 research paper exposure to modern (post-2007) database research would be familiar to all these via a Stonebraker or Kersten school paper. It's really meaningless to contrast performance between modern DBMSes if you don't at least talk about materializations, B-trees, cache and query optimization.
Answer: Interesting debate and <code>Not to wake sleeping dogs</code>, the world has moved quite a bit in the 1.5 years, and the data space has exploded.
I would like to recommend some new technologies and at the same time share a few of my experiences in this space.
As @madilyn is trying to explain: It all depends on your use case. In my experience it's easy to know what you want to do today, but really hard to foresee all the future use cases. Therefore I also take the agility into account when making a choice of the stack to use for a given system.
Flat files is just really powerful especially if they are stored in a binary format (e.g. tea, HDF5, Feather, Apache Parquet), using JSON and serializing / de-serializing the data is not clever at all.
When dealing with huge amounts of rows of structured data a modern Column-oriented database is hard to beat, especially in combination with interesting technologies like snappy (compression that... well compress AND gives faster i/o - What!?!) and distributed file systems (e.g. GlusterFS, GridFS, CEPH), that allows you to build a relative inexpensive and scalable database cluster, check out MariaDB Columnstore and the super performant (but with some drawbacks) Clickhouse.
Most of the data in finance is having the time dimension, so it might be a good idea of thinking this into the?
KDB+ has been around for decades with a super strong database, unfortunately mostly unavailable for smaller companies due to cost. Now a whole sub-industry is emerging, fueled by the IoT buzz, offering time series databases (e.g. InfluxDB, RiakTS, OpenTSDB), but in my opinion the latest and still relative unknown contender TimescaleDB offers some truly unique features.
TimescaleDB is an extension to PostgreSQL and offers time series capabilities inside the same database of where your non-time-dimensional data resides, making it easy to JOIN together and in general leveraging PostgreSQL's large feature set.
The query language is really important, and in my opinion nothing beats SQL (and NewSQL) in terms of compatibility. By forcing other people to learn and use CQL or MongoDB Query Language, you might very well end up building a data graveyard.
When NoSQL was at the peak of its hype, I was one of the cool kids onboard with a MongoDB database, quickly I realized that a. I was the only user b. I wanted to use BI tools for the early data exploration, MongoDB have properly had a lot of customers with the same request, so luckily they have made a 'Connector for BI'. I tried both the official one and a bunch of the SQL connectors made by 3rd party vendors, and let me just say this: You don't have to do the same experiment, unless you wish to waste a day or two of your life.

Conclusion
I will (partly) side with @madilyn PostgreSQL with TimescaleDB extension might be the way to go for the OP, but if you're not already married to PostgreSQL then also checkout MariaDB Columnstore, once you have a nice solution, then build a feature/script to extract data into a binary file for one-off / event research.
Comment: Good answer, agreed that the different DBMSes and serialization formats suggested are all possible candidates. Also I need to add that a common problem with all the modern candidates available to us is that very few of them have well-maintained hooks to cluster middleware or anything you're doing to orchestrate distributed computing, which means you may actually get better productivity by sacrificing performance for a more commonly used solution which has a wider software community. Many of top firms are still using HDFS even if it's notoriously slow.
Comment: Postgre also has a column store extension https://github.com/citusdata/cstore_fdw
Answer: The standard answer is going to be that for time series, you want a column store database. These are optimized for range queries (ie: give me everything between two timestamps) because crucially, they store data along one of the dimensions (which you must choose, usually time) contiguously on disk, and thus reads are extremely fast. The alternative, when fully normalizing on a relational database, is that time will be indexed, but not stored contiguously. Thus if you ask for, say 3000 data points, you're hitting the index 3000 times, and even if said index is held entirely in memory (unlikely if you have 3000 companies x3500 fields), this takes a lot of time. Anecdotally, even using MongoDB, which is very vast, I obtained a 100x speed up using Cassandra. Hbase will equally serve you well, while lesser known entrants such as RiakTS, InfluxDB et al, are more specialized towards time series, and often don't have tool support (for example, Flink or Spark). I have found Cassandra to suit my needs very well, but then, I don't have as many fields as you (though it will handle them with ease). However I do store vast amounts of timeseries data (intraday) and Cassandra also has very high ingest rates.
However. You mention normalization. Cassandra et al will not give you normalization. They will not give you anything like the sophisticated integrity tools which relational databases provide, nor the complex schema options. In particular, if you want column-store speed along more than one of the axes in your data hybercube, you will need to repeat the data transposed form. Otherwise it will revert to relational performance (ie: you can still index across dimensions, of course). If you find that most of your queries will be along the time axis, and that you don't have much need for complex schemas, I would heartily recommend Cassandra. It is heavily used in the financial industry for this reason.
An option which might be equivalent for you however, is Postgres with its column store capabilities. You can specify to Postgres that it should store data along one axis contiguously, thereby getting the benefit of the column stores. Note however that Postgres doesn't scale across multiple machines nearly as easily as Cassandra or Hbase. You'll have to scale it vertically, which is much much more expensive when you start pushing the envelop on ingest or query performance. With Cassandra, you just add cheap boxes. We all know that 10 cheap boxes are much cheaper than the single monster box that will keep up with their (parallelized) performance. Indeed at some performance levels, relational will just choke, whereas Cassandra will scale linearly to as many boxes as you like (Apple reportedly runs 75000 nodes). That's why Netflix uses Cassandra, as does Apple. You'll need some serious z-enterprise style big iron if you want to try to get close to the performance of even a medium sized Cassandra cluster, with a relational database.
So, Postgres or Cassandra. It will probably come down to whether or not you are going to put the data up for public (ie large number of users) consumption, or if your data is truly big (> 5 terabytes ish is what I call "big"). In that case Cassandra. Or if you need computer-science rigorous normalization and all the bells and whistles that Postgres will give you, and indeed it is an excellent choice (with column store) if you are not too worried about truly big data growth.
Comment: Thomas Browne - I am researching your very in-depth answer. Thank you! Is this the pg columnar store feature/extension you were referring to: https://www.citusdata.com/blog/2014/04/03/columnar-store-for-analytics/
Answer: Regarding storage, I stream real-time updates for exchange listed contracts (outright + exchange listed calendar spreads) to InfluxDB. Its a time-series database, mostly geared towards IT Ops for storing log data, but it works fine with homogeneous finance data.
For options strips, due to the sheer amount of data generated per day, I use TeaFiles. Pros for using teafiles are that the file sizes are small, and load times are fast. For each .tea file I assign the following strategy: <code>[ContractSymbol]_[Strike]_[CallOrPut]_[Date].tea</code>. Files are then stored in Azure BLOB storage. Read benchmarks are good; ~25ms to read a file with 300k entries from a C# loader.
Comment: I posted the answer using JSON data above. I had not seen TeaFiles before this. They seem to perform the same function as my JSON data. I am interested in seeing how the two perform side by side. Thanks for pointing me in this direction and I gave you an upvote for that.
Comment: I considered using InfluxDB at one point, but the server spec requirements scared me off. I would be curious to hear your experience with that system in production.
Comment: Sure thing, tea files do not serve the same function as JSON. tea files are binary files with headers designed for homogeneous time series. Where as JSON is designed for attribute=value objects in human readable text files. If you are not capturing high-frequency intraday updates, then tea files may not be the best solution for you. But if you find yourself having to load millions/tens of millions of time-series for each query, then a binary based storage solution should at least be considered. Here are some [performance metrics](http://discretelogics.com/resources/benchmarks/teafilesbm.htm/)
Comment: Thanks for the stats. I think I may run a test or two with my own data and see what json vs TeaFiles looks like side by side. It doesn't look like the conversion would be hard and you have me curious. JSON gives me some flexibility for adding data and deserializing into multiple objects types, but there is a bit of a performance hit for that. TeaFiles may give me a bit of a boost where I don't need flexibility. I have about 10 years of Options quotes that would be a good test. If I get some results I will post them back.
Answer: I will prefix my answer with the following:

I've not read the holy wars stuff in the other answers in detail. I think it's missing the point.
I've implemented exactly this project more than once in small buy side firms.

Your main issue is getting the data in the first place. I have a recommendation - S&P Capital IQ. You can get a deployment where you either:

connect to their database server in the cloud
deploy their loaders and database on your hardware (there's a choice of target OS and database, so if your org is Postgres / SQL server / Oracle, its not an issue - just pick what your guys prefer).

The loaders take care of sync'ing the data, and the schema.
I've used similar competing products from other vendors and S&P was the only one that had what I would call a 'sane' data structure. SQL queries are pretty straightforward, and your average quant analyst will have no issue at all getting what they want. The documentation is good, and they have support teams that actually have a clue.
If you want to extract that data into something that suits your analytic workload better, then it's much easier to do that from a properly organised dataset. I'm specifically talking about extract to another storage for faster processing. For most quant workloads its going to be either:

snapshot the DB to my temp copy
read into Python etc, do work, dump snapshot to my local disk
some other file format / database for highly concurrent analytic workload (Tableau, Apache Spark, custom calc, etc)

The only issue with S&P is cost - but you were going to need to buy something anyway, as collecting it yourself is totally infeasible. They are far cheaper than Bloomberg, and I cannot recommend Thomson Reuters.
Don't worry too much about scalable tech storage etc, the real issues are cleaning the data, identifiers and dealing with things like corporate actions. That's waaaaay harder.
Regarding the tech:
Postgres is fine, and it won't annoy with issues like float precision etc. There is now TimescaleDB that gives you some pretty powerful time series performance for zero $, without forcing you to silo the time series data from the reference data.
For the kind of data you are talking about, you won't need a clustered database solution if your data is reasonably normalised. S&P's product is, and for that dataset size, it was a couple of TB iirc.
Comment: I am going to assume that you mean 'data' rather than 'date': Capital IQ actually offer bad data bounty, while other vendors have told me that I was wrong even when presented with evidence. That says it all really. However, if you have niche requirements then you should look for yourself as some vendors do better than others in niche areas. I don't know if they have tick data. The deepest tick history set I know of is Reuters, starting from 1996. If you need 5-10 years, then there are many options out there.
Comment: How is Capital IQ from a date reliable standpoint? Also, what frequency of data do they have? Do they have tick?
Answer: Another solution is QAdirect.  The data is from various sources, and you can add in your own custom tables.  The schema is well documented, and extraction is via the usual SQL technologies.  As far as cost goes, it costs, but not as much as Bloomberg.
They seem to be committed to getting information from new sources, which will help in this heterogeneous environment.
I know of several shops that combined QAdirect, Capital IQ/alpha-factor library, Datastream, along with Facset and Bloomberg for point solutions.
The real problems with all of this cost.  I have seen suppliers start to ramp up prices and are trying to build strangleholds on the data sources.  The control of the data is the real battle for the right to charge rent from investors these days.
Answer: DolphinDB is designed for your use-case. It is really powerful and performant though it is not open-sourced and requires a commercial license.
Answer: Axibase Time Series Database FINANCE Edition is built exactly for storing and retrieving Last sale, Level 1, and reference data.
It's faster than files and comes with custom SQL functions for fast filtering and aggregation.
<code>SELECT datetime, symbol, open(), close(), vwap()
    FROM atsd_trade
  WHERE datetime BETWEEN '2020-12-01' AND '2021-01-01' EXCL
    AND IS_INSTRUMENT_IN_INDEX('<index_name>')
    -- AND exchange = 'LSE' AND class = 'IOB' AND symbol = 'RDS.A'
  GROUP BY exchange, class, symbol, period(1 HOUR)
</code>
Notice functions such as <code>vwap()</code> which are not part of standard SQL, or
<code>IS_INSTRUMENT_IN_INDEX</code> function which filters trades by components that belonged to the index on the trade date (not only current components).
More SQL examples are listed here. Also, how to handle option EOD data.
The database is free for production on a single node.
(Disclaimer: I work for Axibase)
Answer: QuestDB is also another option. Billed as "the fastest open source time series database".


Assign static IP to VMware Player guest on host-only network

Question: I have a VMware guest (Ubuntu 14.04) on a Windows 7 host that has a host-only network adapter (the 192.168.59.xxx address range), and every time I reboot the machine, it gets a new IP address assigned from VMware. How do I tell VMware to give the particular VM the same address every time?
Answer: See https://www.vmware.com/support/ws55/doc/ws_net_advanced_ipaddress.html
Basically, you have several alternatives:

Set up a static ip address in the Linux guest.
If that's the only guest you use, set up the DHCP on the Host to make it hand out just one address (go into the Virtual Network Editor, Edit > Virtual Network Settings > DHCP). But this is an ugly solution.
The best solution would be a bit more complicated: edit the vmnetdhcp.conf file. This file follows the syntax of dhcpd.conf, you can check online how to do it. Basically you specify your guest's MAC address, and the IP address to be reserved for it.
Comment: While editing vmnetdhcp.conf file, which IP addresses can I use as static address?
Answer: This helped me. I have two hosts and both have static Ip's. I can ping them across as well as from the host.
You have to edit the dhcpd.conf file in found in VMware installation folder. Use the following command in mac OS's,
sudo vim /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
Use any text editor to edit the file.
Add similar entry as below,
End of "DO NOT MODIFY SECTION"
host Windows8x64 {
    hardware ethernet MAC_ADDRESS_OF_Windows8x64_GUEST_MACHINE;
    fixed-address  192.168.167.80;
}
Make sure that these lines are added after End of "DO NOT MODIFY SECTION" line.
This will make Windows8x64 guest's ip address to 192.168.167.80, edit the IP as required and should be outside the range defined in dhcpd.conf under section "DO NOT MODIFY SECTION".
Note: choose your guest name instead of Windows8x64 i.e Ubuntu 14.04 in your case.
Restart VMware and start the guest, i.e Windows8x64 in my case and check the ip address, it should be same as determined in dhcpd.conf
Comment: Can you addsome relevant content to the answer. Assume that the link rots.


How do I know if my windows are energy efficient?

Question: Hope this is a known one. New double glazing should be labelled, shouldn't it? But rather than getting new windows, are my uPVC windows fine? What checks? To elaborate - what should I look at on the windows as a means of checking they are adequately energy efficient so I don't need to buy replacements.
Answer: Hire someone that can do an energy audit. Check with your local utilities as they may even offer rebates on the cost of that. They'll use a Thermal Imaging Camera that can answer this question for you.
It's not so much whether or not your windows are a problem as much as it is the bigger question "what parts of your house are the problem". Even if your windows aren't efficient, you may have bigger issues elsewhere that will give you a bigger ROI in terms of energy costs than replacing the windows.
Comment: +2. If they are dual glazed, they are adequate enough, money is better spent elsewhere. Unless dual glazed units are defective in some way, single glazed units are the only ones worth replacing.
Comment: I agree. Replacing windows is expensive. It's likely there are many better ways to spend money for energy savings, unless the windows are egregious or need to be replaced anyway.
Answer: Read my answer on the following question -
How can I measure the r-value of a wall?
This method works really really well for windows because of the temperature differences.  Also if you do this in the middle of the summer/winter it would be optimal.  Other thing you can do too for windows is take a temperature reading in the middle of the window and compare it to the temperature along the window edges (winter works best).  You would be measuring how well your windows are sealed, how well the windows fit in the frame, and the caulk job but that is important too.
Answer: Have you checked your windows for any weak spots? a professional can measure the amount of sunlight passing through the panes, and this can lead to potential treatments or simply being told the windows are fine. To Repair or replace if you do find faults becomes the dilemma? Down to costs and as mentioned above, replacement uPVC can be very expensive. If you look after your uPVC windows then they should be fine. Look for signs of improvement being needed. Rot won't be an issue as you have uPVC though do check for worn out cranks and foggy double pane glass. Essentially, professionally placed glass should be maximising solar heat during winter and minimising in Summer. The most energy efficient glass for double glazing is low emissivity (Low-E) glass. It limits the amount of heat escaping through windows. Have your windows checked so you can have peace of mind.
Answer: Most window/door installation companies offer an efficiency inspection, that will not only check the design of your windows, but will also check the seals, fitment, and functionality of your doors and windows as well.  Be careful, as some less reputable companies will use this as an opportunity to sell you things you don't necessarily need.  My source, is that I have owned and operated a window/door installation business for over 25 years.


What is this very white fungus?

Question: This was found on the trunk of a friends lilac.
Comment: where in the world is the lilac located?
Answer: It's what is commonly known as a bracket or shelf fungus - they all are polypores and this group of fungi is fairly similar one to another in structure, but in outward appearance they come in a range of colours and sizes. When this occurs on a tree, it means the heartwood of the tree has been infiltrated already by the mycorrhizae - what you see on the outside are the fruiting bodies. I'm afraid this means the tree is on its way out - your friend should check how stable the tree is by pushing on the trunk to see if it's still firm,and it should be checked ongoing if he does not want to remove it now. The danger from it over time is that it might fall, and if it's near a property, building or where people walk regularly, that might mean significant damage.
If these have appeared near the base of the tree, its probably best to remove it quite quickly - higher up the trunk might mean it lasts a bit longer, but not necessarily.
Answer: As you say ; a fungus = mushroom ( which I don't recognize ). However , that trunk of the lilac is likely dead and does not know it yet. I would cut that trunk to try to reduce growth of the fungus into the rest of the bush.  The lilac will likely come back very well if pruned while dormant ( winter).

What is this very white fungus?


Technique to remove any properties an excel file phpexcel

Question: I have a file i would like to compress or remove any type of formatting in excel 2007. My file size is 450kb but when I export all the worksheets in a new workbook the size is now 104kb. Is there a way in phpexcel to compress the file or just eport the worksheets in a workbook.
Answer: If you have such problems with the size of the files generated by PHPExcel, then you would probably be best off looking at an alternative solution that uses MS Excel itself, such as COM


How can I optimize the size of my .apk?

Question: I noticed that the Flappy Bird .apk is only around 900 KB. I'd like to know how I can achieve a similar optimization in .apk file size for my own games, which use Unity. A small single-scene game developed with Unity will have an .apk size of nearly 10 MB, in comparison.
Comment: Why do you think Flappy Bird was made with Unity? When you develop Android games in Java and base them solely on the native API, they can be even smaller.
Comment: If you look at the features in Unity's site they mention as an extra pro feature: "Build Size Stripping
Keep your applications size small for mobile devices. We'll strip out parts of the engine that you aren't using." So I assume (but I am not sure) that small file size is only possible for pro version users.
Answer: It's possible to use an Android "APK Expansion File" so that additional content is downloaded at runtime the first time you launch it.
Next, if you have very few graphics that always repeat (if I remember well Flappy Bird has very few graphics assets) they can be compressed in the .apk and expanded in-memory during execution. Graphics and art assets are the files that have more impact on final .apk sizes than most other assets.
Unity loads a lot of stuff, but if you program the game directly in OpenGL you are able to cut your code and libraries to the essential and achieve very small packages.
I remember the time when adventure games (like Maniac Mansion) were all in one floppy disk.
Answer: Unity is a very powerful and very complex game engine. Most games only use a small fraction of its features. But no matter how much of it is actually used, a game which uses the Unity engine must include the whole engine which is a hefty 10MB chunk of additional filesize.
For a very simplistic game like Flappy Bird, using such a huge engine is usually overkill. They can usually be made using just the native Android API which allows to create much more compact applications.

How can I optimize the size of my .apk?


Minecraft PE multiplayer world not saving

Question: My sister and I played on a local multiplayer server then suddenly her game crashed (she was hosting). When she opened our world almost half of what we made was gone. We did nothing else but build a base (she thought it was because I destroyed her sign while she was writing on it). Is there any way for us to bring back our world?
Answer: No, You may not bring back the previous save of your world, as it wasn't backed up, and while you crashed, everything returned to the newest save.
The automatic save feature only saves between a certain time, It can't save EVERYTHING you do every second, It will just lag the server, and lag your CPUs.
So, no, You can't restore it, but as a future advice, You can try to save more often, In order to save the world, You must be an OP, and write
/save
Either in the console, or in the chat.


Can Deadpool be killed?

Question: Thanos cursed Deadpool to not die anymore. He already had his head decapitated, but after his head was put back in place, he returned to life.
Has anyone read anything about it? I mean, how to finish, definitely, the life of Deadpool.
Comment: This seems very opinion-based. His weakness is obviously that Thanos (or another ultra-powerful Eternal) decides to undo the curse, then hits him on the head with a piece of 2x4
Comment: Are you asking **IF** or **HOW**? Maybe sooner or later he'll lose his power, like his friend wolverine? http://scifi.stackexchange.com/questions/67427/why-doesnt-wolverines-healing-factor-work-any-more/67428#67428
Comment: Guys. Guys. We're all so preoccupied with whether or not we _could_ kill Deadpool, we didn't stop to think if we _should_.
Answer: No. If Thanos wills it, it cannot be undone.
It's true that Deadpool's regenerative power comes from Wolverine, and Wolverine can be killed.
However, Thanos is an Eternal and even without the Infinity Gauntlet his power is quite extensive. Of most importance is Thanos's ability to travel through time and manipulate matter.
If Deadpool were close to death, Thanos could easily prevent this on an atomic scale, and if he were somehow to die, Thanos could travel through time and prevent the death from taking place. And even if this were impossible, his personal relationship with Death herself may mean she might not reap Deadpool.
Comment: Can you link sources? Quotes?
Comment: Ugh, death wants him to die so she can have him
Comment: Yes, the second argument is somewhat invalid, as she actually wants to reap him but can't
Comment: Even TOAA can't undo it?
Comment: A fundamental law in Greek mythology is that if one god/titan wills something, it cannot be undone by another. I wonder if the same thing applies in Marvel.
Answer: Marvel have just announced "The Death of Deadpool". If anyone can kill off Deadpool, it's Marvel.

Marvel Comics has announced, via Nerdist, that they will be killing
Deadpool in April's Deadpool #250, which will be the final issue of
his ongoing series.
"In all honesty, the story that you're going to get in Deadpool #250,
is a story that we really have been building to since the first issue
of Deadpool NOW," says Gerry Duggan, who has co-written the series
with Brian Posehn since its most recent relaunch. "And it will
absolutely feel – it will feel, I hope, readers will think that this
is an appropriate end for this Deadpool."
Comment: @HeathJamesCadriel with hindsight I think the statement it was going to bomb may have been a bit off :) - along with the family friendly bit
Comment: Not dead dead, just comic-book dead. The idea that they'd kill off a major character just before their feature film airs is frankly ridiculous.
Comment: @HeathJamesCadriel: "Instead of appealing to its actual demographic they're trying to make a "family friendly" deadpool movie." Are they indeed! Judging by the trailer, they may have failed.
Comment: Psssh. A movie thats gonna bomb. Instead of appealing to its actual demographic they're trying to make a "family friendly" deadpool movie. Which is like trying to make a vegan friendly steak. It can be done but its not pretty
Comment: @HeathJamesCadriel To be fair, comic deadpool was family friendly until 2007.
Answer: Deadpool vol 1 issue #64 called "Funeral for a Freak", Frank Tieri's writing in which Thanos cursed Wade with immortality.

The scope of Thanos' powers are rarely depicted, and almost never understood. If Thanos were to curse someone with eternal life, it is a threat I can see being enacted and unable to be broken except by a being whose powers rival Thanos'.
Comment: On a separate note, how does a skeleton have breasts?
Comment: @marcellothearcane her hands are also not bone, so we can assume only the head is without flesh.
Answer: Well recently theres a few series of comics that delt with this. The first was the Deadpool series that recently ended and now we have the new one. Where deadpool loses his healing factor for a time and he seems rather killable but you find out it was just vastly slowed down. Theres also Deadpool vs the Marvel universe series, where he has Daken and X-23 tied up with flamethrowers pointed at them that light them up everytime they start to regen, which is how at the time he says he'd deal with his own healing factor. Finally in Deadpool vs Deadpool its deadpools killing each other with weapons designed to kill other Deadpools, for example theres a energy gun that can kill a deadpool without him regenerating. Deadpool also exploits his teleporter to kill another by sending half his body somewhere else.
So yes deadpool can die or basically be considered dead, but he'd probably never be truly dead without having that curse removed.
Comment: I'm pretty sure Q could easily kill Deadpool.
Answer: I think it would be possible, since his healing factor is similar to Wolverine's and Wolverine can be killed.
From Deadpool's article on marvel.com, under Powers, we know that

Deadpool possesses a superhuman healing factor derived from that of the mutant Wolverine that allows him to regenerate damaged or destroyed areas of his cellular structure at a rate far greater than that of an ordinary human. As such, he can regrow severed limbs or vital organs. The speed at which this healing factor works varies in direct proportion to the severity of the damage Deadpool suffers. This healing factor also affords Deadpool a virtual immunity to poisons and most drugs, as well as an enhanced resistance to diseases and an extended life span. Unlike Wolverine's natural healing factor, Deadpool's is mentally driven to a partial extent.

So, since his ability is similar to Wolverine's, I think we can assume that he can be killed, but it would be really really hard.
Answer: In the Deadpool classics TPB, in the first or second book of it there is an issue where Deadpool looses the ability to regenerate for some reason that I cant remember, and he gets the scientist that experimented on him in to get him the powers in the first place to do more work on him, and he does fix the regenerative powers for the most part, but it is explained that if Deadpool gets a major major injury, such as looses a limb, then the limb stays off, it cant regrow or reattach itself.
Answer: Deadpool is immortal. the only way to kill him would be through thanos removing the curse, then striking his healing factor with carbonadium OR complete atomization. Although, marvel revealed they will be killing him. This still may not be true, as knowing that he can break the fourth wall, they could make a joke ending where he lives.
Comment: not bad but i wonder where this came from ?
Answer: He can die if gamma goes into him the gamma radiation will destroy his healing factor and his cancer will kill him
Comment: I'm not very familiar with Deadpool comics; has this happened before?
Comment: Deadpool #1, he traveled to Antarctica to sabotage a gamma reactor. Swimming inside it resulted in his healing factor losing its potency. He wound up solving it with some of Hulk's blood.
Answer: Deadpool's immortality doesn't originate from his healing factor.  Thanos placed a curse on him, so that he would never die, because of the love triangle between Thanos, Deadpool, and Death.
Marvel said they would kill him off (they may have already - I don't read them anymore)
Anyway, imagine Deadpool having The Flash's abilities along with his own...
Better healing factor than Wolverine
Immortal due to Thanos
(Once mastered, he would be faster than the speed of light--like 100x faster than superman, be able to time travel, go into different dimensions, do infinite mass punches, run on water obv.  and so on.)
With his weapons and style of fighting, this would be a wicked upgrade.
Answer: No. He's been cursed by Thanos and also has the regenerative powers enhanced
Answer: Deadpool can't die even Ghost Rider's penance stare couldn't kill him. It turned Ghost Rider back to Johnny Blaze. Also, Thanos cursed him -- he survived complete incineration.
Comment: When and where did he survive incineration? I'm not saying he didn't, but it would help to add the references to the point :)
Comment: @mooz I think he's referring to agent of weapon x, prior to the udon Deadpool/agent x series. Deadpool was liquidfired but you know, he got better

Can Deadpool be killed?


how to remove the shell menu entry for "ununstall with revo uninstaller"

Question: my right click menu has become a mess, lot of programs, and i want to remove some of those right click items, how to remove the shell menu entry for "ununstall with revo uninstaller", becoz i never use this feature. so help please?
Answer: The freeware utilities ShellMenuView and ShellExView from Nirsoft allow some control over these menus.


Does Android continuously notify the user to update the OS?

Question: I am wondering if Android notifies the user daily to update their OS like Apple's iOS does?  I'm a long term iOS user and the automatic software updates implemented recently has me considering switching over to Android.     I've never used or owned an Android and am curious what the experience is like.
Comment: I think this is manufacturer dependent (some have custom updaters). Just be informed that usually only flagships receive more than one update.
Answer: Daily updates no, but it does depend upon the device provider. That is they have to customise the OS to suite the device.
My experience, on a Lenovo Tablet, is that updates are pretty low in frequency, less than on a monthly basis and applying the OS updates is not compulsory.
Answer: As MikeT said, it depends on the device.
For tbe most part, No matter how much a device screams, you can ignore the update. You can also disable auto checks and get no notifications until you check yourself.
That said though, it depends. Samsung rarely do updates, like quite a few OEMS. Google Updates the Nexus line Every month, though it is optional security updates that take little time to do.
The reason updates are so off-hand is because of a system app called 'Google Play Services', which does a lot more than I can explain. It negotiates app connections, Grants the user to use GApps and the API'S included, and can add new features-no OS update needed. Neat, eh?
-EDIT- If you like a good read, have a look at this article


mysql how to enable concurrent insert

Question: I have a MySQL database where everyday I make a new table and I end-up with around 5M rows in the day end. My problem is during the peak hour our reporting gets real slow. We are trying to figure out the cause of the issue. One reason can be, the select queries can not execute properly as our system keeps inserting frequently during the peak hour. From MySQL website I came to know that concurrent insert can be a solution of this problem.
Therefore, how can I enable concurrent inserts in my system and check if it is working? And what issues I may face if I use it?
I am using MySQL server 5.0.95
Answer: To enable concurrent insert, add "concurrent_insert=2" as server system variables.

mysql how to enable concurrent insert


How to access local paths on TYPO3 using eID

Question: I have an image map on my frontend and from there I need to access some images that are stored on different folders under the fileadmin directory. And I'm trying to do it with eID, following this example:
[http://www.alexanderschnitzler.de/2011/06/howto-ajax-requests-with-extbase-and-fluid/][1]
But my problem is that I can only access one directory. I haven't been able to access different directories based on the user selection from my front end.
This is the code of what I been trying to do:
On my Controller I have an ajaxAction, where I need to give the full path of one directory, because I haven't figure it out how pass the directory id on to my ajaxAction, here might be my question and maybe the solution:
/**
 * @return void
 */
public function ajaxAction() {

    $image_file_path = "fileadmin/Images/Sattic/Amik/small";
    //$image_file_path = "fileadmin/Images/Sattic/'+$id+'";
    $d = dir($image_file_path) or die("Wrong path: $image_file_path");
    while (false !== ($entry = $d ->read())) {
        if($entry != '.' && $entry != '..' && !is_dir($dir.$entry))
        $images[] = $entry;
    }
    $d->close();

    rsort($images);
    return json_encode($images);
}

On my index.html I have a map tag where the function updateImage(id) is called, when the user clicks on the different areas and my updataImage(id) function looks like this:
function updateImageGallery(id) {
console.log(id);

var ajaxUrl = "{f:uri.action(action:'ajax', pageType:'100101')}";

$.getJSON(ajaxUrl, function(data) {
    var items1 = [];
    var items2 = [];
    $data = data;
    console.log('dataLength: ' + $data.length);
    console.log('dataArray: ' + $data);

    $.each($data.slice(0, 4), function(key, val) {
        valLink = val.replace("small.", "");
        items1.push('	');
    });
    $('
', {
        html: items1.join('')
    }).appendTo('#glRegion');

    $.each($data.slice(4, 8), function(key, val) {
        valLink = val.replace("small.", "");
        items2.push('	');
    });
    $('
', {
        html: items2.join('')
    }).appendTo('#glRegion');

});
return false;

}
I would like to be able to pass from updateImageGallery(id) function, the id of the directory, so I could get the images for each directory.
Is it possible to do this? I hope so, I have 30 different regions and if I solve my problem the way I'm doing now I would need to use 30 different eID's. I guess it might be a smarter way to solve this.
Any sugestions?
Answer: You can use t3lib_div::_GET('myid') to access the myid get variable.
I guess you can use var ajaxUrl = "{f:uri.action(action:'ajax',**myid:id,** pageType:'100101')}"; to set it.
Anyway, sure to generate a list of valid paths/ids inside you PHP script and check the get parameter agains those.


CLIPS subset duplicate values

Question: I want to have a rule that suggests the possible item combinations in a player's inventory.
Below are some example facts. Item facts contain the recipe for item combinations and the player facts contain the items in the player's inventory.
<code>(player (name x) (inventory "aaa" "bbb" "ccc"))

(item (name xxx) (recipe "aaa" "bbb"))
(item (name yyy) (recipe "aaa" "aaa" "ccc"))
</code>
Below is the rule I have written:
<code>; ; Item Combination rule
(defrule item-combination
    (player (name ?n1) (inventory $?i1))
    (item (name ?n2) (recipe $?i2))
    (test (subsetp $?i2 $?i1))
    =>
    (assert (can-combine ?n1 ?n2))
)
</code>
The rule works well if there are no duplicate items in the recipe.
For example, for item yyy, we need 2 instances of "aaa", however (subsetp (aaa aaa ccc) (aaa bbb ccc)) will return true. However, I require that there contain 2 instances of "aaa" in the player's inventory.
I wonder if there is a function to check subset that involves duplicate values.
EDIT: I have written my own function
<code>(deffunction subsetdp (?sub ?set)
    (if (eq 0 (length$ ?sub))
        then (return TRUE))
    (bind ?x (member$ (nth$ 1 ?sub) ?set))
    (if ?x
        then (return (subsetdp (rest$ ?sub) (delete$ ?set ?x ?x))))
    FALSE)
)
</code>
Answer: You'll need to write your own function as you have done if you want to check for duplicates.

CLIPS subset duplicate values


Transaction triggered successfully but users can edit transaction amount, How can I stop this?

Question: I've recently added FTM payments to my website and discovered once the transaction is sent to MetaMask everything goes to plan but looking at the image below, Users can directly edit the amount sent using the edit button. I want to charge a fixed amount which can't be edited. How can I achieve this?
Answer: You can't do this when initiating a transfer from one wallet to another. You can only achieve this by interacting with smart contracts. In your case, once the transaction is confirmed, you need to validate if the amount sent is the amount you are expecting.
Comment: Firstly, thank you for your reply. This is strange, when I have initiated transactions on other platforms using metamask there is no edit button. But what you are saying is, once the user has sent the transaction and the transaction ID is created. I need a separate process which confirms the correct amount has been sent. The problem with this is, the transaction will still go through and the incorrect amount will still be sent to the receiving wallet and this will have to be dealt with manually. Is this correct or am I missing something here? Thanks again.
Comment: Even if you would hide that option (I am not aware of this being possible), then someone could still bypass that and transfer funds.

I see two potential ways to deal with this:
1. If someone changes the amount to be sent, it's on them. You can then send the funds back manually by discounting gas fees from the amount.
2. Build a smart contract that would reject transactions with incorrect amount (then nobody can send incorrect amount).

Is the amount a constant or it keeps changing?
Comment: Here's where I can see the option is hidden in MM: https://imgur.com/a/pDFgTjW

My value will be constantly changing as I'm charging an amount based on quantity, and this will then change based on the price of FTM.
Comment: I can't see the image well. It's cropped, only top is visible.
Comment: My mistake, here's a better image of the transaction in MM: https://imgur.com/a/79RZy0A

This is using ZooDex
Comment: I believe this happens when you interact with a smart contract. If you initiate a simple transfer from one address to the other, you can still modify the value.
Comment: I think you are correct, currently (I understand this is bad practice and I want to change this). I'm initiating my transactions via a


How to pronounce a superscript ə?

Question: And why there's a superscript ə? just found this on the dictionary.cambridge.org ...
Comment: Pronunciation and related themes are [on-topic](http://english.stackexchange.com/help/on-topic). We have a number of technical questions about physiological necessities for getting sounds right..
Comment: Did you try clicking on the loudspeaker symbols at [antonym](http://dictionary.cambridge.org/dictionary/english/antonym) to hear how it sounds?
Comment: Yeah, I tried.. but couldn't get it...
Comment: @A It's vaguely interesting that the "British" and "American" interpretations of the identical US pronunciation are different. One uses /-t̬ən.ɪm/ and the other has a superscript [which I can't do in a comment].
Comment: @AndrewLeach, in the American transcription, the t with a little under cup seems to be for a flap, and the last syllable starts with the vowel instead of n.  These are both very strange ideas about the pronunciation.  Maybe that transcription is simply mistaken.
Answer: This is a very helpful question. Many members here are unsure about what the superscript schwa indicates in dictionaries, and there is a lot of inaccurate information given about it.
The superscript schwa indicates that there are two different pronunciations in common use. One uses a schwa here the other doesn't. So the American version of antonym can be pronounced in the following ways:

'æn.tn.ɪm
'æn.tə.nɪm

The superscript schwa is not a "small" schwa sound. Neither does it indicate that people disagree about whether there is actually a schwa sound present. It is also not a non-syllabic vowel. As a rule of thumb, whenever we see a syllabic /n, m, l, r/ there will be an alternative pronunciation available with a preceding schwa occurring in the nucleus of the syllable.
Some tips for the production of schwa:
(1) Stand in front of a mirror. Don't close your teeth or open your mouth, just relax your face. Make a sound as if it's coming from your throat or chest (in reality it will be coming from your vocal folds). This should be a schwa sound. In the mirror you should not be able to see your face move at all. If you recorded a video of you practising schwa, but with no sound, we would not know when you were making a sound and when you were silent, because your tongue, jaw and lips - and your face in general - should all be relaxed and not moving at all.
(2) Try to make the sound /b/ as in the word big, but just /b/ on its own. Now try the sound /d/ as in dog and then the sound /g/ as in girl. Do this two or three times. When we say these sounds on their own, we automatically put a little vowel on the end - we have to because they are voiced. If you said the sounds correctly, then you probably said /bə/, /də/ and /gə/. The little vowel that you made by accident after the consonant is a schwa. This is because you were not trying to make any special vowel there.
Schwa only occurs in unstressed syllables. The reason we make schwa like this is because we need to make unstressed syllables shorter than other ones in English. We need the other stressed syllables to be longer and to stand out. The schwa is very quick to make because we do not need to move any of the articulators (the parts of our mouth that we use to make consonants or change the sounds of vowels). If we make a big articulation, a big movement of our mouths, like we do for /æ/ in cat, we need to move our articulators a long way. For /æ/, for example, we have to spread our lips very wide, and drop our jaw very low and move the 'front' (that means the middle) of our tongue so it raises slightly up towards the roof of our mouth. This all takes a lot of time. Because of this, /æ/ is actually quite a long sound, even though it belongs to the so-called 'short vowels'. For a schwa you do not need to move anything! In conclusion then, what you need to do to make a good schwa sound is: nothing!
Comment: How can you have non-phonemic transcriptions that give "no other detail about the sound other than which language-specific phoneme is occurring"?
Comment: Your paragraph "(2)" is more confusing than helpful.  Your shouldn't use slashes when you're talking about sounds rather than phonemes, for one thing.  For another, the position of the tongue for the [b,d,g] in *big, dog, girl* will be determined by the following vowel in those words -- it will not be a schwa.  If it were actually a schwa, you would be able to hear a central on-glide in the following vowels.  When people attempt to pronounce a [b,d,g] in isolation, they *may* use a schwa tongue position, but there is no guarantee of that.
Comment: @GregLee In isolation they may not. But having had several hundred (at a conservative estimate) students over the years, *nearly* everybody does. But your right, not everybody. Of course it's the saying the sound in isolation that makes the following sound likely to be a schwa. It's usually a shcwa *because* there's no following vowel intentionally articulated.
Comment: @GregLee Us phoneticians don't use // and [] the same way as you. We use // for *broad* transcriptions that give little or no other detail about the sound other than which language-specific phoneme is occurring. We use [] for *narrow* transcriptions where we give more phonetic detail. When we do this we don't use language specific symbols. So we would have to use ɐ instead of ʌ for example for the vowel in *cup*.
Answer: What it means and what it is are different matters.  Making the schwa a superscript here apparently means the sound is non-syllabic.  While (except for some diphthongs) you ordinarily have one syllabic sound per syllable, which is the "nucleus" of the syllable, there are some difficult or marginal cases.  Syllabic sounds are generally vowels, but liquids like l and r and nasals like n and m can also be syllabic.  Syllabic sounds are longer in duration than non-syllabics and acoustically have a "steady state" -- there is a period of time, a few milliseconds, during which the sound doesn't change very much.
Sometimes when a sound that is ordinarily syllabic (a vowel that is) is non-syllabic, that is indicated in a phonetic transcription by making it a superscript.  That is perhaps what has been done, here.  Schwa is a vowel and is ordinarily syllabic, but in the American pronunciation, the dictionary makers think it is non-syllabic, so they have made it a superscript.  Then, comparing the British and American pronunciations given, the British pronunciation has three syllables, "an-to-nym", while the American pronunciation has two syllables, "anton-im".  (I am not using phonetic transcriptions here, but rather modified conventional spellings.)
Another possibility here is just some confusion on the part of the dictionary makers.  If you click through to this page, http://dictionary.cambridge.org/pronunciation/english/antonym, you'll see another transcription for the American pronunciation that does not have the schwa as a superscript.
As for what the American pronunciation actually is, personally, all I hear in the sound recording is the aspiration after the t, with no vowel sound at all between the t and the n.  That is consistent with a syllabification "an-tnym" with just two syllables and the medial vowel lost.  Syllable-initial t is aspirated in English, and so aspiration of t would be expected here.
Comment: I agree about the voiceless schwa in the american example. But a superscript schwa just indicates two alternative pronunciations. You can either have a syllabic consonant or a schwa and a consonant. This convention is widespread in dictionaries. LPD and Oxford ALD both use it for example. You can find it in the [guide to phonetic symbols](http://dictionary.cambridge.org/help/phonetics.html)
Comment: While the superscript schwa is used for non-syllabic schwa, I don't think any English speakers pronounce *antonym* this way. I suspect that @Araucaria is correct: this indicates two possible pronunciations.
Comment: @PeterShor  I can't even interpret what "two pronunciations" means here.  There's just one sound recording given.  Which is it?  Is this a phonetic transcription or a phonemic one?  In "antonym", the t and the n are both alveolar.  If one "reading" of the superscript schwa is that it's not there, but the following n is syllabic, does that mean that alveolar closure can be continuous going from the t to the n?  (It clearly is not continuous in the sound recording.)
Comment: @GregLee The transcriptions given in a dictionary are not a description of the audio. They are a description of how the word is pronounced by speakers of a particular variety of the language. People pronounce the word in two different ways. They only give one audio, which could be a version of either. The audio clearly is using a schwa (albeit a devoiced one). As you say, there is no syllabic n there.
Comment: I didn't say there was a voiceless schwa in the American example.  I said there was an aspirated t in the recording.  (I don't say it this way -- I say [æ̃nʔn̩ɪ̃m].)
Comment: I doubt that the audio has a schwa, even devoiced.  Note that the first and last vowels are both front.  If you think there is a schwa somewhere between them, you imply that the tongue goes from front to non-front (for the schwa) and back to front again.  I detect no such tongue movement.
Comment: @GregLee Actually, if you listen carefully you can clearly hear the schwa which is voiced towards the end before the n starts.
Comment: @Araucaria, maybe there is a trace of a voiced vowel there, though I don't hear it.  What I was saying above is that there is no *schwa* vowel, because the tongue can remain in a front position for the entire word.
Answer: The Cambridge Dictionaries Online has a key where they discuss how they use IPA phonetic symbols. They say:

əl, əm, ən can be pronounced either: əl or ḷ etc.:

Here /ḷ/ stands for a syllabic /l/.
So the IPA stands for two different pronunciations. The t with a vee underneath it is a flapped t. The two pronunciations are:

/ˈæn·təˌnɪm/ or /ˈæn·tṇˌɪm/

where the /t/ is flapped in both pronunciations, and the n with a stroke under it is a syllabic /n/.
The /n/ followed by a flapped /t/ would actually probably be a nasalized flap in real life pronunciations (despite the fact that they're shown as being in different syllables), but Cambridge Dictionaries Online doesn't have a special symbol for that, so they represent it as /nt̬  /.
Comment: +1 Quite right. Clear too. There's several possibilities there. You could get an n and a flap, you might get a single nasalised tap, or you could get a regular /t/ in this position too (as in the audio given by CDO).
Comment: @Araucaria: Although I might use either a nasalized flap or an /nt/ in *antonym*, I can't follow an /n/ with a flap. My tongue really doesn't want to pronounce that combination. Are you sure people use it? (Going by all your great answers here, I expect you're right—I just find it somewhat hard to believe when I have so much trouble pronouncing it.)
Comment: Well, I've done some research on the web, and I have to say that so far after a hundred or so examples, I haven't been able to find an example of *antonym* with any kind of flap at all! Every example apart from *maybe* [the "Southern American" example from this dictionary](http://www.wordreference.com/definition/antonym) has used a regular [t]. It's certainly possible to get a voiced flap following a /n/. For example, it's often heard in the word *Toronto*. Of course, the approach to the tap isn't tap-like in the same way that the release of a /t/ at the end of word may not be plosive.
Comment: What you might get in those situations is a kind of tap which starts of nasalised and then has a velic closure during the contact phase, so that the beginning is nasalised and the end isn't.
Answer: You really have to ask the editors of the dictionary what they were trying to convey, because choices are inevitably made when applying the IPA. There is even, in fact, a school of thought (that of the Atlas of North American English) that North American English and British English should be transcribed with different systems of vowel notation to account for the fact that North American English does not differentiate vowels in terms of length.
Comment: You don't actually have to ***ask*** them. You can Google and find their [IPA key](http://dictionary.cambridge.org/us/help/phonetics.html).

How to pronounce a superscript ə?


Question on spin-orbit interaction

Question: When you study the spin-orbit interaction in quantum mechanics, even for a simple hydrogen atom, you find only the electric field in the nucleus reference system, while in the electron reference system you find the magnetic field due to the relative orbit of the nucleus around it (through Lorentz Transformations). Why is that? Shouldn't there be a magnetic field in the nucleus reference system due to the orbit of the electron as well? Is it just a convention, since electric and magnetic field are actually just one field?
Comment: Related: [Spin-orbit coupling from the rest frame of the proton?](http://physics.stackexchange.com/questions/107485/spin-orbit-coupling-from-the-rest-frame-of-the-proton)
Comment: I believe that indeed, in the rest frame of the nucleus, there is a magnetic field generated by the motion of the electron. But this magnetic field, being generated by the electron itself, doesn't interact with that electron. It's the fields generated by the nucleus that interact with the electron spin.
Comment: Using Lorentz Transformations, you put B=0, where B is the magnetic field in the nucleus frame reference. That's what I can't understand.
Comment: But you only need to Lorentz transform the fields generated by the nucleus, since they're the only fields that are going to affect the electron. In the rest frame of the nucleus, there is no magnetic field generated by the nucleus. Hence we set B = 0.
Answer: You do this mainly because we want to calculate the spin-orbit interaction precisely for the electron. And we do this because we observe that movement of the electrons (within the validity of this view) is decoupled from the movement of the nucleon.
This makes sense because the nucleus mass is about N*2000 times larger than that of the electron, where N is the number of nucleons in the nucleus. This is, for hydrogen, larger than the ratio of mass between the Sun and Jupiter.
So, while indeed what you are saying is correct, whatever the reference frame it is, the action of the electron on the nucleus must be considerably small and negligible for most purposes.

Question on spin-orbit interaction


I'm an F1 Student that has an W2 Form from volunteer work, am I in trouble?

Question: I worked in a film last year and I did it voluntarily because to my knowledge I'm not supposed to be paid by non other than the university. They made me sign some documents because international students do that all the time. Now I got a W2 Form that says that I got paid, but I didn't. Now I don't know if I'm in trouble.
Answer: Yes you may be in trouble. While non-work visas permit some kinds of volunteer work, one of the restrictions is that you cannot do work that is normally paid, even if you do it for no pay. The existence of The W2 indicates that the film company thought this was work that needed paying. So there are bigger problems here than just whether you got paid or not.
I would talk quickly to the film company and the university,  and you might consider consulting an immigration lawyer.


Can Android see my Tor traffic? Running Tor over Tails

Question: I was spending a lot of time investigating cryptocurrencies using Tor over Tails, mostly Wiki. When I closed browser and opened Twitter on my Android there were crypto ads all over! Bluetooth on both devices off and App permissions/Google settings set for privacy. I don't usually get these ads. Just a coincidence?
Answer: The connections in Tails are carefully routed through Tor, and Bluetooth is disabled IIRC, an interception in-the-wild from your smartphone is not the most probable.
You may want to consider these possibilities:

You used a personal online account while browsing with Tails, connecting your 'anonymous' activity to your usual identity.
You pay more attention to crypto ads.
Your behaviors are too predictable


How to restart a remote Windows desktop when start menu is disabled?

Question: I am working remotely via the Windows Remote Desktop app.  The start menu on the remote desktop has become non-responsive.  (I can't get a look at the calendar or the notifications either.  But all the other icons on the task bar seem OK.)  So, is there some way for me to re-boot the remote desktop?  I obviously can't use "restart" from the non-operable start menu!  When I try other methods I have found, my home desktop interprets them as telling it, not the remote, to re-boot.  Any ideas?  One more thing: I don't have admin privileges on the machine and can't much of anything beyond what can be done on the desktop.  For instance, ctrl-alt-del to get the task manager is a non-starter.
Comment: Try Winkey + X to see that menu, choose Admin Command prompt and shutdown /r   to restart it. Try that and see if it works for you
Comment: Does Windowskey-R still work ? Does right-click menu on teh desktop still work ?
Comment: @John  Thanks, but no go.
Comment: @Tonny  Windowskey-R, yes.  I can right-click in the main desktop, but right-click is not detected in the task bar.
Answer: Press WIN+ R, then run the command
shutdown /s /t 0 to power off or
shutdown /r /t 0 to restart your machine.
References:

shutdown
Windows Command Prompt - 6 sleep, shutdown, restart
Comment: Why `-s` `-t` when the docs clearly say it would be `/s /t` etc ? Is this a specific Run command format? and why the enclosing quotes?
Comment: @tetsujin you're right. I was using the **old syntax** which I used so far. I updated my answer with **lastest syntax**.
Comment: I need to restart.  Would that be "shutdown -s -t 0 /r" ?
Comment: @bob.scamento, "shutdown -s -t 0 /r" doesn't work because you're trying to use both parameters "-s" and "/r" but **"shutdown -s -t 0"** and **"shutdown /r /t0"** would work very well. "-" is the **old syntax** and the "/" is **new syntax** accord to with the [shutdown documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/shutdown). Just to use the cmd shutdown as I mentioned on my answer, I've just update it.
Answer: If right-click on Desktop still works you can go directly to **
If not:Can you open ANY application that has a File-Open menu?
If so do that.
The File-Browser can be abused as a mini File-Explorer.
**
Navigate to the Desktop.
Right-click on the emtpy space (not an a file or a folder) and select New->Shortcut.
Set the application for the shortcut to shutdown -s -t 0.
Then double-click the shortcut.
Answer: The fastest way to shut down a Windows computer without needing to use the Start menu is by clicking on the desktop to focus on it and then pressing Alt + F4. This brings up the shutdown menu without having to go through the Start menu.
Also, if your Start menu is not responding, a quick fix for that would be to bring up the task manager by pressing Ctrl + Shift + Esc, going into the Process tab and ending the task named explorer.exe. This will close all your open folder windows and make the Taskbar disappear. You can enable it again by going into File -> Run and then entering explorer.exe.
Answer: Did you try getting to the Task Manager the 'fast' way?
 Ctrl ⌃   Shift ⇧   Esc
which saves having to go through the first screen.
Personally what I do for machines I need remote access to a lot is to put a couple of .bat files on the desktop, one for reboot, one for shutdown [using shutdown.exe /g /f /t 00 or  shutdown.exe /p /f].
Saves all the messing around ;-)
Answer: In RDP CTRL + ALT + END will send CTRL + ALT + DELETE to the RDP server.
Pressing ALT + F4 on the desktop in full screen mode (depending on your settings) will give you a screen to exit windows as well.


Remote Desktop client

Question: How do I access my desktop on my iPhone via Remote Desktop client. Can I access it through an ad hoc connection. I tried to connect via an ad hoc connection but it didn't work, I'm not sure if I'm getting the process right.
Comment: I use an app (client) called Mocha RDP lite and have no problems whatsoever...
Answer: From what I've found a couple applications work really well for this. VNC works great. We use it at work, it's a little complicated if you're not familiar with networking. TeamViewer in my opinion works great! You literally just install and go. It's free and the security behind is pretty decent. I use it in my house.

Remote Desktop client


Any info on this frame?

Question:
Grips say it's a Mongoose.  Crank says Tourney Tuf-neck USA.  Only other markings I see are '112 83' and 'WALD 20'.  Found it in the rafters of the garage I just bought.  TIA!
Comment: Depends on how much you want to spend restoring it. I don't think there's any monetary value however
Comment: Why do you want to know this?
Comment: Because I want to know if it's worth trying to save, or if it belongs in the scrap pile?
Answer: Here are four things about your frame that make it distinctive.

The rear dropout is horizontal rather than the track type as most double diamond BMX bikes have
The seat stay bend connecting to the dropout.

There seems to be a brace at the seat tube/top tube/seat stay junction. Not sure what that is but it is unusual.

The gusset design, while similar to other BMX bikes it is unique in the details

I've done some searching but have not found a match yet. One of the best references is bmxmuseum.com.
Maybe these observations will help you find a match.
Answer: There is a Chainring tuf necks cranks 3 piece sugino tourney ano blue big,  looks to have either redline or  race Inc v bars big and a cheap Troxell vintage seat. (Everything described except the seat are really expensive parts.) Frame throws me, it looks like parts could be copied from a old vintage mongoose looptail. Wheels look steel with coaster brake but look for stamp near valve stem hole. I actually have a good set of ukai steel wheels (FE) blue off s very early goose with a bendix coaster.
Comment: What's with the "$$$" and "$$$$;" are you trying to indicate "pricey" or "expensive?"  You could improve this post by writing more clearly.
Comment: Yes dollars signs means there worth good amount of money.chain ring depending on condition like all things between 40-$100 tourney crank set with bottom bracket once again depending on condition between 150-350 that includes the tapered spindel and full bottom bracket.now the bars hopefully they are vintage raceing Inc bars and they aren't hammedto.bad no big huge chunks missing once again condition is key to.the right person if there nice 300-400.if there beat 50 bucks. Sorry about the first response it was late I just got.out of hospital was jumped by 3 guys for walking on the wrong street
Comment: That's what the guy said to.me then all of a sudden my head was getting bashed in by bricks one guy was trying to pull my eyes of the socket with his thumbs buried on my eyes and wouldnt.let go next time.i woke up I was being life flight to.portland Oregon trama center I was awake for 2 seconds enough to see one house  out the side of the helicopter and I was out again 60 grand for a helicopter ride is what they are charging me 163 stitches to.my head and face and they amputated my right index finger so my vision is always double or triple so all this is most written by muscle memory sorry

Any info on this frame?