Any ios shipping build generated with Google VR plugin enabled, came out damaged.
Splash screen start, and then the app close.
It looks somewhat related to Arm64, because developer builds just works fine, and the only difference, apparently, seems that developer builds are ArmV7 enabled by default.
Tested 4.14.3 and 415.0
I had similar symptoms when I built my app for Android with third-party plugin enabled. Please check in your project if all unused plugins are disabled.
I have a few questions for you that will help narrow down what issue it is that you are experiencing.
- Can you reproduce this issue in a clean project?
- If so, could you provide a detailed list of steps to reproduce this issue on our end?
- Could you provide screen shots of any blueprints/settings that may be involved with this issue?
- What device are you currently using when you have this issue?
- What is the current OS being used on the device?
iPHONE 7 10.2.1
Install unreal engine 4.14.3
Start a new blank project (i.e. First Person Demo), mobile, scalable, no content.
Plugins/Virtual Reality, remove all, activate Google VR, restart project
Project settings: package for SHIPPING, enable compressed cooking
IOS settings, create package demo.firstperson.com, options enabled:
Package for iPhone only. All other options left as they are.
Registering new app id demo.firstperson.com, generating developing certificate, and developing provisioning.
Get back to Ue4, project settings, import the provisioning and certificate.
Build for IOS
Open XCode, push the .IPA package into iPHone7
Run the app FirstPerson, the splash screen start, then immediately, the splash screen close.
All the same, but DEVELOPMENT package, and the app starts normally.
If in development build, activate both ARM64 and Arm7, in IOS options, into project settings, and also the packaged Development IPA, crash after run.
I was able to reproduce this issue on our end. I have written up a report and I have submitted it to the developers for further consideration. I have also provided a link to the public tracker. Please feel free to use the link provided for future updates. Thank you for your time and information.
Link: Unreal Engine Issues and Bug Tracker (UE-42339)
Make it a great day
This bug does not seems to be resolved, even in 4.16.0
This issue was marked as a duplicate of UE-41244. I have updated the public notes to show this change.
Got this problem too, did anyone resolved this? I am using 4.16 version
I do not have a workaround for this issue at this time.
UE 4.16 - Development builds run well on iPhone 5s with both armv7 and arm64 turned on, but Shipping builds still crash after splash
I got this problem too. using 4.16.2.
Shipping builds crash after splash.
Build OS version: macOS 10.12.5
Testing device: iPhone6S (iOS 10.3.2)
Why is this issue marked as a duplicate of UE-41244?
I think this problem is more serious than UE-41244 because we can’t publish iOS app using GoogleVR plugin.
I have posted a question in bug reports about it: Crash on iOS after splash with GoogleVR plugin enabled - Mobile - Unreal Engine Forums
So, i hope we’ll get some new information about this bug, and I hope it will become “actual” from “duplicated”…
And yes, there is quite a workaround to publish development and re-signed version, but it is not good anyway.
So if it is VERY important for someone to publish the app “RIGHT NOW!”, there is a working case: make dev. build, turn console by 4-tap off, resign ipa with distribution certificate and load to appstore. But the size will be very big. I made it for my project, because couldn’t wait anymore. For iOS 8 app should be less than 100MB, iOS9 < 400MB, iOS10 <2 or 4GB…
Do you know what script settings to move? Very interesting for me, because I tried different methods for 2 weeks with no success.
I found, that the crash is somehow related to this iOS system error: “SpringBoard(KeyboardArbiter) : HW kbd: Failed to set (null) as keyboard focus”
I made a new post and added crash and runtime logs for details. Maybe it can help.
The log from Xcode tells, that crash connected with this error:
ShippingLog:  Jul 6 10:18:55 iPhone-Daniil
SpringBoard(KeyboardArbiter) : HW kbd: Failed to set (null) as keyboard focus
And it appears only with Shipping build and GoogleVR plugin enabled.
And I fully support hirapong: UE-41244 seems to be a different to this issue, especialy, UE-41244 - seems to be solved, because there is no crash with Switch button in UE 4.16.2
Correct, this is a serious bug and was introduced by 4.13, and yes, it is not related UE-41244.
Publishing is indeed possible with a workaround in v4.16.2…as long as it generates, working 64bit development/debug builds, some users managed to rid, moving many ios compiling script settings of the debug version, to the shipping version… but would be better, that shipping builds with Google VR enabled, would not crash.
Manipulation of compiling scripts may lead to unexpected results and probably not properly working .ipa’s
Yes, i’ve read somewhere that users moved ios compiling debug script settings, to the shipping script to get working ipa’s with GoogVR enabled.
Development/Debug builds works quite well for testing, but they are not good for publish for a series of reason, including a different management of the provisioning that generates upload errors in the Application Loader, and last not least, presence of some Unreal tools and libraries for console command and debug purpose, but also the console command itself.
Development builds have several cooking compression disabled, you may turn them on manually, and solve the size problems. Indeed, publishing development builds it is not yet the right solution, so we should push the team to fix this issue…


I need a web program for capturing an audio file from a youtube's video. When I have choosen the programmer i'll give him more details. Spanish skills its a plus.
One more thing. I need an iPhone application wich consume this web and offering the posibility of download the mp3 to reproduction list.
I need only the iPhone native app, I resolved already the web page. Thanks.
4 Freelancer bieten im Durchschnitt $313 für diesen Job
This software would be completed to fit within your project design, using the Python language. The charge is figuring out how to modify pre existing code to match your projects needs and specifications.


Apparently, today is the day of records in the SuperPi – 32M discipline. A few hours ago, the Italian overclocker Hardware_Numb3rs published a new result obtained on a 2-core, 4-thread processor. Just like its Russian colleague M1RROR, Hardware_Numb3rs decided to test the overclocked CPU in the SuperPi – 32M benchmark. In the case of the M1RROR, it was the aged AMD Phenom II X4 945, but the Italian chose the latest AMD Athlon 3000G processor for his experiments.
With the help of liquid nitrogen, the aforementioned chip was overclocked to a very modest (compared to its older brothers in architecture) 5089 MHz. The stability at this frequency brought Hardware_Numb3rs the first place in the CPU rank in the SuperPi – 32M discipline with a result of 6 minutes, 47 seconds 629 milliseconds:
Considering the relatively low frequency of the chip, we dare to assume that this is not the most successful copy of the Athlon 3000G processor, and soon the enthusiast will get a better CPU.
It is not possible to find out what hardware the test setup contained, since, unfortunately, the Italian did not indicate any components other than the motherboard ASUS ROG STRIX X470-I Gaming.
Source: Result page on the HWBot website


|Racket Programming the Fun Way
Author: James W. Stelly
Lisp is generally regarded as the language of the gods - but the gods are usually considered to be slightly more intelligent than the average mortal and so it is with some trepidation you should approach any descendent of Lisp. Racket is recognizably Lisp, but it also has object-oriented features that make "normal" programming easier. This said it is also worth knowing that the main use of Racket is to implement experimental languages and this is not the emphasis of this book. Instead this book is a collection of general projects that you might consider fun - hence "Fun" in the book's title.
The book uses the DrRacket IDE which is the only reasonable choice. Chapter 1 dives straight in with very Lisp-like lists and S expressions. If you've encountered Lisp in a former life this will look all very familiar. The presentation isn't formal and the syntax and ideas of the language are introduced by examples and informal discussion. There are no jokes, but the style is friendly and informative.
Chapter 2 introduces basic numeric types, Chapter 3 deals with creating functions and of course being a Lisp-like language this means lambda functions.
Reaching Chapter 4, we have left the basics of the language behind and start to look at examples. This is where you will learn most about Racket rather than details of the language. So if you don't like learning by example this isn't going to be to your liking. Chapter 4 is about graphics and Chapter 5 introduces Racket's GUI. This is all fairly object-oriented.
Chapter 6 is about data and file handling and the examples are about stats and visualization. Chapter 7 outlines the standard search algorithms, which is something any Lisp-oriented language is very good at. Chapter 8 introduces Racket's logic programming library, which gives you a chance to find out about Prolog-style programming. Chapter 9 looks at machines like Turing machines to give you some idea of what this aspect of computer science is all about and justifies the book's subtitle of "from Strings to Turing Machines".
The final chapter implements an algebraic calculator which does make use of Racket's language processing abilities, but this probably isn't enough for language theory students.
This is a beginner's book for the beginner who wants to learn something about Lisp-like languages. It doesn't cover all of the details of Racket, no mention is made of macros for example, and it doesn't explain why and how Racket is different from other Lisp-like languages, notably Clojure. As far as it goes it is a good introduction, as long as you like introductions that major on examples.
|Last Updated ( Wednesday, 19 January 2022 )


Q: How do I enable the minimal mode?
A: Go to the Admin Panel, then find 'External Accounts Extended' and tick the box labelled as 'Minimal Mode'.
Q: The service, <service> isn't working! What do I do?!
A: Before posting about a service not working, make sure to check the following:
Make sure the scopes are set correctly.
- Most services have options to select the necessary scopes that your API application will request from the user. This addon only needs basic profile information so those related to that should be selected. For example, LinkedIn would need the following selected:
This allows your website to see their profile and email, necessary information to register on your site.
Set the callback URL to your website's specific registration URL.
- Most of the time this only needs to be your site URL, but some services require it to be set explicitly.
The format that needs to be used is the following:
So for example, for LinkedIn on the website testdomain.com, it would be 'testdomain.com/register/linkedin'
Q: I received the error 'An unexpected error occurred. Please try again later.' What do I do?
A: Follow these steps before posting that you are getting this error:
Are the keys correct?
- Make sure the API client key and the API secret are correctly inputted on your forum!
Does your VPS have the correct time?
- I ran into this issue recently where my VPS's time drifted off and any oauth requests to services like Tumblr were simply rejected due to a skewed servertime. This is extremely unlikely to happen, but I only noticed my server having the wrong time because I was unable to login through Tumblr! It's worth a check


hi every one i'am having problem with include/require_once in PHP by which iam accessing a configuration file to connect database.
This problem exists in yahoo small business servers where i hosted my site in a free host it works fine for the same code.
the database connection is working fine but the including of files are not working even not showing an error.
Please help me out to solve this issue.
If this question is to placed on other location please lead me there.
<?php session_start(); require_once("classes/DbConfig.php"); $object_db = new DB(); $object_db->open_connection(); ?>
The above is the code for accessing the DbConfig.php file which is in classes folder and the below is for creating instance of class and opening the connection which is a function in that class.
here i used include also but there is no display of any error.
i checked that if that file exists or not using the following code.
<?php if(file_exists("classes/DbConfig.php")) echo "File Found"; else echo "File Not Found"; ?>
it displays "File Found".
And there are no error logs in the domain control panel


It there an already developed toolbox system for setup and sharing that addresses these issues:
All fasteners etc have unique pre-defined company part numbers. (New part number would be added by the administrator).
Any user can easily search for an exiting part by description ( before requesting a new part#)
Setup so Toolbox can be shared by any remote (VPN) user having the option to use the company toolbox or their own local toolbox.


#pragma once
#include<string>

class KMap {
private:
	// Mảng 4x4 lưu trữ các vị trí đã nhập vào
	int matrix[4][4];

	// Đọc line và đưa vào mảng
	int parseToArray(std::string line, int numbers[16]);

public:

	// Constructor
	KMap();

	// Đọc dãy số từ console
	void parseLine(std::string line);

	// Sao chép ma trận
	void getMatrix(int m[4][4]);

	// Vẽ bản đồ Karnaugh
	void drawMap();
};
// Hàm tổng hợp các chức năng
void Bool();


There are $$$n$$$ cards numbered $$$1, \ldots, n$$$. The card $$$i$$$ has a red digit $$$r_i$$$ and a blue digit $$$b_i$$$ written on it.

We arrange all $$$n$$$ cards in random order from left to right, with all permutations of $$$1, \ldots, n$$$ having the same probability. We then read all red digits on the cards from left to right, and obtain an integer $$$R$$$. In the same way, we read all blue digits and obtain an integer $$$B$$$. When reading a number, leading zeros can be ignored. If all digits in a number are zeros, then the number is equal to $$$0$$$. Below is an illustration of a possible rearrangement of three cards, and how $$$R$$$ and $$$B$$$ can be found.

Two players, Red and Blue, are involved in a bet. Red bets that after the shuffle $$$R > B$$$, and Blue bets that $$$R < B$$$. If in the end $$$R = B$$$, the bet results in a draw, and neither player wins.

Determine, which of the two players is more likely (has higher probability) to win the bet, or that their chances are equal. Refer to the Note section for a formal discussion of comparing probabilities.


Lazy Load Pattern
Lazy loading is a software design pattern where the initialization of an object occurs only when it is actually needed and not before to preserve simplicity of usage and improve performance. In another word "Lazy initialization of an object means that its creation is deferred until it is first used."
- When you have an object that is expensive to create, and the program might not use it.
- When you have an object that is expensive to create, and you want to defer its creation until after other expensive operations have been completed.
- Prevent system memory or computing cycles usage when there is no reason to do it.
- Improve the startup performance of the program
- When initializing there can be some lag when things are getting loaded into memory.
The following code snippet demonstrates how lazy loading works:
Post a Comment


You have an array of integers $$$a$$$ of length $$$n$$$. You can apply the following operation to the given array:

- Swap two elements $$$a_i$$$ and $$$a_j$$$ such that $$$i \neq j$$$, $$$a_i$$$ and $$$a_j$$$ are either both even or both odd.

Determine whether it is possible to sort the array in non-decreasing order by performing the operation any number of times (possibly zero).

For example, let $$$a$$$ = [$$$7, 10, 1, 3, 2$$$]. Then we can perform $$$3$$$ operations to sort the array:

1. Swap $$$a_3 = 1$$$ and $$$a_1 = 7$$$, since $$$1$$$ and $$$7$$$ are odd. We get $$$a$$$ = [$$$1, 10, 7, 3, 2$$$];
2. Swap $$$a_2 = 10$$$ and $$$a_5 = 2$$$, since $$$10$$$ and $$$2$$$ are even. We get $$$a$$$ = [$$$1, 2, 7, 3, 10$$$];
3. Swap $$$a_4 = 3$$$ and $$$a_3 = 7$$$, since $$$3$$$ and $$$7$$$ are odd. We get $$$a$$$ = [$$$1, 2, 3, 7, 10$$$].


I’m searching to find a solution to get rid of the banner warning every time I boot to my macOS High Sierra.
The solution is to format and reinstall macOS High Sierra on the partition.
- How To Make External NTFS Hard Drives Writable In Big Sur
- Import iPhone Photos on Mac Using Preview and Image Capture Apps
- How To Get iMessage and FaceTime Working On Big Sur
- How To Replace WIFI Module On Dell Inspiron 3668
- How To Backup DVDs To MP4 macOS Big Sur
- How To Make Your First Desktop Hackintosh
- Install macOS Big Sur On Supported Windows PCs and Laptops
- How To Get Intel WiFi/BlueTooth Modules To Work With Hackintosh


Yes i am sexy. Dude priest male/female shell looks sexy too.Originally posted by Shurt+-->
QUOTE(Shurt)
Originally posted by KrisTysonLegolas@


This is the hard version of the problem. It differs from the easy one only in constraints on $$$n$$$. You can make hacks only if you lock both versions.

Let $$$a_1, a_2, \ldots, a_n$$$ be an array of non-negative integers. Let $$$F(a_1, a_2, \ldots, a_n)$$$ be the sorted in the non-decreasing order array of $$$n - 1$$$ smallest numbers of the form $$$a_i + a_j$$$, where $$$1 \le i < j \le n$$$. In other words, $$$F(a_1, a_2, \ldots, a_n)$$$ is the sorted in the non-decreasing order array of $$$n - 1$$$ smallest sums of all possible pairs of elements of the array $$$a_1, a_2, \ldots, a_n$$$. For example, $$$F(1, 2, 5, 7) = [1 + 2, 1 + 5, 2 + 5] = [3, 6, 7]$$$.

You are given an array of non-negative integers $$$a_1, a_2, \ldots, a_n$$$. Determine the single element of the array $$$\underbrace{F(F(F\ldots F}_{n-1}(a_1, a_2, \ldots, a_n)\ldots))$$$. Since the answer can be quite large, output it modulo $$$10^9+7$$$.


Oscar managed to convince Bryce & Harrison to check out Ojisan to Marshmallow, one of his Winter 2016 anime season recommendations. What did they think??
We upload a tonne of videos, so subscribe to us on YouTube to get updates on them as soon as they go up!
Check out the Rice Chat playlist to see if we’ve chatted about something you missed!


First, I think we need a clearer definition of "multiverse hypothesis".
My understanding of one definition of the term is that in each moment, new lines of existence are formed representing every possible quantum state.
That's a very large number of universes, but it is finite.
Secondly, there's a difference between the variety of laws being very large (ok, fine, infinite) and the "number of laws" being infinite. I don't think the latter makes sense.
I can think of a couple examples in US culture in which this isn't true.
Young men egged on to have sex by their peers.
Failure to "perform marital duties" is, I believe, grounds for divorce in some states.


Divan's new cottage is finally complete! However, after a thorough inspection, it turned out that the workers had installed the insulation incorrectly, and now the temperature in the house directly depends on the temperature outside. More precisely, if the temperature in the house is $$$P$$$ in the morning, and the street temperature is $$$T$$$, then by the next morning the temperature in the house changes according to the following rule:

- $$$P_{new} = P + 1$$$, if $$$P < T$$$,
- $$$P_{new} = P - 1$$$, if $$$P > T$$$,
- $$$P_{new} = P$$$, if $$$P = T$$$.

Divan is a very busy businessman, so sometimes he is not at home for long periods and does not know what the temperature is there now, so he hired you to find it. You will work for $$$n$$$ days. In the beginning of the $$$i$$$-th day, the temperature outside $$$T_i$$$ is first given to you. After that, on the $$$i$$$-th day, you will receive $$$k_i$$$ queries. Each query asks the following: "if the temperature in the house was $$$x_i$$$ at the morning of the first day, what would be the temperature in the house next morning (after day $$$i$$$)?"

Please answer all the businessman's queries.


We now have the opportunity to upgrade a UW 2.1.3 dual processor box to
UW 7. I am wondering if we will see a performance increase due to
better File System I/O implementation and multi-processor support if no
changes are made to the actual hardware. Can anyone comment on this?


I was wondering if it would be possible to have a security plugin for wordpress created.
Some features I want the plugin to have are:
- The ability to manually ban or whitelist IP addresses.
- The ability to set a auto-log off feature with a customizable set log off interval
-Password change scheduler, plugin will automatically prompt user to change password every x amount of days
- A OTP login for admins for enhanced security
- Captcha forms for login and register forms


Determine how you want to collect deposits
Stripe integration must be set up prior to collecting deposits.
If you want to just charge one flat deposit for reservations, you can specify an amount. During booking, the guest will be notified that amount is required to complete checkout.
If you want to collect a percentage on the total amount, you can specify that as well as min and max amounts. For instance, if you specify you want to collect 25% on the total. For a $1000 reservation, a minimum of $300 could be set if you want that to the be minimum amount, or you can set a maximum. For example, for a $10,000 reservation, you can specify that $2000 is the maximum to collection. Several options are available if you choose.
If you want to allow completely different amounts per unit for deposits, you can specify an amount for each unit in your property.


I've overhauled the fleet's movement system so that it uses the new free-moving system. Fleets adjacent to a star system will sit on either side, depending on if it's departing or just chilling, similar to MoO 1.
I also updated the races to use the new SpriteManager instead of DrawingManagement (SpriteManager is faster and more efficient). So each race now have their own fleet icon.
While this may seem like a short blog post, in actuality it was a lot of work. Just look at the SVN history to see how much code I changed to achieve this. There's still things I need to do to finish this, but it's now about 80% done!
Screenshot of a fleeet adjacent to the home system (Space Hamsters' fleet icon):


Danwei is dead, Long Live the New Danwei
I don’t think Danwei need any introduction to most expats in China. The site has been around for quite sometime, predating most blogs and expat rags, reporting on happenings in China. Time have changed apparently with Jeremy Goldkorn and company going for a different direction/format.
Last week, the new Danwei was launched, as a web magazine where each issue will have a specific focus! And guess what the focus of issue #1 is? yup, Music! actually, traditional Chinese instruments to be exact! As far as I understand it, the dizi, erhu, guzheng, zhongruan, pipa and drums all getting the mini videocumentary treatment.
The Erhu (二胡) post is up already featuring Liu Hong. Check it out and keep your eyes peeled for the next installements of posts. Our good friend, the multi-talented Jonah Kessel, had a big hand in this re-branding and producing some of those video.
So congrats to Danwei, Jeremy and Jonah…. long live the new danwei!


I have a PermissionError: [Errno 13] Permission denied¶
Grocker does not ask for superuser rights before invoking Docker. The Docker socket has to be readable and writable by the current user. Many distributions create this socket to be readable and writable by root and the docker group.
One way to be able to use Grocker is to add your user to the docker group. On Debian:
$ sudo adduser $(whoami) docker $ su $(whoami) # reload groups, you should also restart your session


#pragma once

#include <string>
#include <vector>

namespace pathos {

	struct Bone {

	public:
		std::string name;
		std::vector<float> weights;
		std::vector<unsigned int> vertexIDs;
		glm::mat4 offset;
		glm::mat4 finalTransform;
	};

}


字幕列表 影片播放 列印英文字幕 [MUSIC PLAYING] -I'm Aaron Sams and I teach science here at Woodland Park High School. My ultimate goal, I guess, as a teacher is to help students become learners who can learn for themselves and by themselves. One of the problems that I was guilty of, even prior to flipping my classroom around, was the classroom was centered around me. I told them exactly what to learn, how to learn it, what assignments to do to learn it, and when to learn it, and how to prove to me that they learned it. I don't do that anymore. We changed the place in which content is delivered. Instead of standing in front of a class and delivering-- here's how you do this type of problem, here's how this worked-- I deliver that direct instruction now asynchronously at home through these videos that we make with Camtasia Studio. -Times [? till ?] whole. -Oh, we didn't do that last time. -Because the last step, they were already whole numbers. We had one, one, and four. Here, we don't have a whole number. So here's a few little tricks when you need to multiply by whole numbers. If one of your numbers ends in 0.5, you're going to multiply by 2. -All right, something-0.5 times it by two. Write this down, guys. -If something ends in 0.33 or 0.66, you multiply by 3. And when the kids come to class, they don't show up to learn new stuff, they show up to apply the things that they learn at home and to ask me questions about the things they learned at home. So now they can have my lesson, if you will. What I would normally have stood up and lectured to them in class with some added features, they get that at home. And then what they were expected to do for homework is now what they do in my class. Life is different for me, because I no longer am the guy who stands up in the front of the classroom and just yaks at a student for an hour or however long the class is. Now, I walk around the class and I help kids. I'm a tutor, I'm a guide, I'm the putter-outer of fires, whatever it happens to be in my crazy chemistry class. I walk around and do that, I don't stand up front and teach under the traditional model. I'm Aaron Sams. I'm a teacher. I'm a dad. I'm a husband. And I love Camtasia Studio.


Sudoers file seems that has error:
sudo sudo: >>> /etc/sudoers: syntax error near line 56 <<< sudo: parse error in /etc/sudoers near line 56 sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin
I can connect to EC2 via SSH as ec2-user but can not edit sudoers file in order to fix the error.
visudo visudo: /etc/sudoers: Permission denied visudo: /etc/sudoers: Permission denied
Tried 'pkexec visudo':
pkexec visudo Error executing command as another user: No authentication agent was found.
What can I do at this point in order to fix /etc/sudoers file?


#include "toys.h"

// Humor toys.h
struct toy_context toys;
char libbuf[4096], toybuf[4096];
void show_help(void) {;}
void toy_exec(char *argv[]) {;}

// Parse config files into data structures.

struct symbol {
  struct symbol *next;
  int enabled, help_indent;
  char *name, *depends;
  struct double_list *help;
} *sym;

char *trim(char *s)
{
  while (isspace(*s)) s++;

  return s;
}

char *keyword(char *name, char *line)
{
  int len = strlen(name);

  line = trim(line);
  if (strncmp(name, line, len)) return 0;
  line += len;
  if (*line && !isspace(*line)) return 0;
  line = trim(line);

  return line;
}

char *dlist_zap(struct double_list **help)
{
  struct double_list *dd = dlist_pop(help);
  char *s = dd->data;

  free(dd);

  return s;
}

int zap_blank_lines(struct double_list **help)
{
  int got = 0;

  while (*help) {
    char *s;

    s = trim((*help)->data);

    if (*s) break;
    got++;
    free(dlist_zap(help));
  }

  return got;
}

// Collect "-a blah" description lines following a blank line (or start).
// Returns array of removed lines with *len entries (0 for none).

// Moves *help to new start of text (in case dash lines were at beginning).
// Sets *from to where dash lines removed from (in case they weren't).
// Discards blank lines before and after dashlines.

// If no prefix, *help NULL. If no postfix, *from == *help
// if no dashlines returned *from == *help.

char **grab_dashlines(struct double_list **help, struct double_list **from,
                      int *len)
{
  struct double_list *dd;
  char *s, **list;
  int count = 0;

  *len = 0;
  zap_blank_lines(help);
  *from = *help;

  // Find start of dash block. Must be at start or after blank line.
  for (;;) {
    s = trim((*from)->data);
    if (*s == '-' && s[1] != '-' && !count) break;

    if (!*s) count = 0;
    else count++;

    *from = (*from)->next;
    if (*from == *help) return 0;
  }

  // If there was whitespace before this, zap it. This can't take out *help
  // because zap_blank_lines skipped blank lines, and we had to have at least
  // one non-blank line (a dash line) to get this far.
  while (!*trim((*from)->prev->data)) {
    *from = (*from)->prev;
    free(dlist_zap(from));
  }

  // Count number of dashlines, copy out to array, zap trailing whitespace
  // If *help was at start of dashblock, move it with *from
  count = 0;
  dd = *from;
  if (*help == *from) *help = 0;
  for (;;) {
   if (*trim(dd->data) != '-') break;
   count++;
   if (*from == (dd = dd->next)) break;
  }

  list = xmalloc(sizeof(char *)*count);
  *len = count;
  while (count) list[--count] = dlist_zap(from);

  return list;
}

void parse(char *filename)
{
  FILE *fp = xfopen(filename, "r");
  struct symbol *new = 0;

  for (;;) {
    char *s, *line = NULL;
    size_t len;

    // Read line, trim whitespace at right edge.
    if (getline(&line, &len, fp) < 1) break;
    s = line+strlen(line);
    while (--s >= line) {
      if (!isspace(*s)) break;
      *s = 0;
    }

    // source or config keyword at left edge?
    if (*line && !isspace(*line)) {
      if ((s = keyword("config", line))) {
        new = xzalloc(sizeof(struct symbol));
        new->next = sym;
        new->name = s;
        sym = new;
      } else if ((s = keyword("source", line))) parse(s);

      continue;
    }
    if (!new) continue;

    if (sym && sym->help_indent) {
      dlist_add(&(new->help), line);
      if (sym->help_indent < 0) {
        sym->help_indent = 0;
        while (isspace(line[sym->help_indent])) sym->help_indent++;
      }
    }
    else if ((s = keyword("depends", line)) && (s = keyword("on", s)))
      new->depends = s;
    else if (keyword("help", line)) sym->help_indent = -1;
  }

  fclose(fp);
}

int charsort(void *a, void *b)
{
  char *aa = a, *bb = b;

  if (*aa < *bb) return -1;
  if (*aa > *bb) return 1;
  return 0;
}

int dashsort(char **a, char **b)
{
  char *aa = *a, *bb = *b;

  if (aa[1] < bb[1]) return -1;
  if (aa[1] > bb[1]) return 1;
  return 0;
}

int dashlinesort(char **a, char **b)
{
  return strcmp(*a, *b);
}

int main(int argc, char *argv[])
{
  FILE *fp;

  if (argc != 3) {
    fprintf(stderr, "usage: config2help Config.in .config\n");
    exit(1);
  }

  // Read Config.in
  parse(argv[1]);

  // read .config
  fp = xfopen(argv[2], "r");
  for (;;) {
    char *line = NULL;
    size_t len;

    if (getline(&line, &len, fp) < 1) break;
    if (!strncmp("CONFIG_", line, 7)) {
      struct symbol *try;
      char *s = line+7;

      for (try=sym; try; try=try->next) {
        len = strlen(try->name);
        if (!strncmp(try->name, s, len) && s[len]=='=' && s[len+1]=='y') {
          try->enabled++;
          break;
        }
      }
    }
  }

  // Collate help according to usage, depends, and .config

  // Loop through each entry, finding duplicate enabled "usage:" names
  // This is in reverse order, so last entry gets collated with previous
  // entry until we run out of matching pairs.
  for (;;) {
    struct symbol *throw = 0, *catch;
    char *this, *that, *cusage, *tusage, *name;
    int len;

    // find a usage: name and collate all enabled entries with that name
    for (catch = sym; catch; catch = catch->next) {
      if (catch->enabled != 1) continue;
      if (catch->help && (that = keyword("usage:", catch->help->data))) {
        struct double_list *cfrom, *tfrom, *anchor;
        char *try, **cdashlines, **tdashlines;
        int clen, tlen;

        // Align usage: lines, finding a matching pair so we can suck help
        // text out of throw into catch, copying from this to that
        if (!throw) name = that;
        else if (strncmp(name, that, len) || !isspace(that[len])) continue;
        catch->enabled++;
        while (!isspace(*that) && *that) that++;
        if (!throw) len = that-name;
        that = trim(that);
        if (!throw) {
          throw = catch;
          this = that;

          continue;
        }

        // Grab option description lines to collate from catch and throw
        tusage = dlist_zap(&throw->help);
        tdashlines = grab_dashlines(&throw->help, &tfrom, &tlen);
        cusage = dlist_zap(&catch->help);
        cdashlines = grab_dashlines(&catch->help, &cfrom, &clen);
        anchor = catch->help;

        // If we've got both, collate and alphebetize
        if (cdashlines && tdashlines) {
          char **new = xmalloc(sizeof(char *)*(clen+tlen));

          memcpy(new, cdashlines, sizeof(char *)*clen);
          memcpy(new+clen, tdashlines, sizeof(char *)*tlen);
          free(cdashlines);
          free(tdashlines);
          qsort(new, clen+tlen, sizeof(char *), (void *)dashlinesort);
          cdashlines = new;

        // If just one, make sure it's in catch.
        } else if (tdashlines) cdashlines = tdashlines;

        // If throw had a prefix, insert it before dashlines, with a
        // blank line if catch had a prefix.
        if (tfrom && tfrom != throw->help) {
          if (throw->help || catch->help) dlist_add(&cfrom, strdup(""));
          else {
            dlist_add(&cfrom, 0);
            anchor = cfrom->prev;
          }
          while (throw->help && throw->help != tfrom)
            dlist_add(&cfrom, dlist_zap(&throw->help));
          if (cfrom && cfrom->prev->data && *trim(cfrom->prev->data))
            dlist_add(&cfrom, strdup(""));
        }
        if (!anchor) {
          dlist_add(&cfrom, 0);
          anchor = cfrom->prev;
        }

        // Splice sorted lines back in place
        if (cdashlines) {
          tlen += clen;

          for (clen = 0; clen < tlen; clen++)
            dlist_add(&cfrom, cdashlines[clen]);
        }

        // If there were no dashlines, text would be considered prefix, so
        // the list is definitely no longer empty, so discard placeholder.
        if (!anchor->data) dlist_zap(&anchor);

        // zap whitespace at end of catch help text
        while (!*trim(anchor->prev->data)) {
          anchor = anchor->prev;
          free(dlist_zap(&anchor));
        }

        // Append trailing lines.
        while (tfrom) dlist_add(&anchor, dlist_zap(&tfrom));

        // Collate first [-abc] option block in usage: lines
        try = 0;
        if (*this == '[' && this[1] == '-' && this[2] != '-' &&
            *that == '[' && that[1] == '-' && that[2] != '-')
        {
          char *from = this+2, *to = that+2;
          int ff = strcspn(from, " ]"), tt = strcspn(to, " ]");

          if (from[ff] == ']' && to[tt] == ']') {
            try = xmprintf("[-%.*s%.*s] ", ff, from, tt, to);
            qsort(try+2, ff+tt, 1, (void *)charsort);
            this = trim(this+ff+3);
            that = trim(that+tt+3);
          }
        }

        // The list is definitely no longer empty, so discard placeholder.
        if (!anchor->data) dlist_zap(&anchor);

        // Add new collated line (and whitespace).
        dlist_add(&anchor, xmprintf("%*cusage: %.*s %s%s%s%s",
                  catch->help_indent, ' ', len, name, try ? try : "",
                  this, *this ? " " : "", that));
        free(try);
        dlist_add(&anchor, strdup(""));
        free(cusage);
        free(tusage);
        throw->enabled = 0;
        throw = catch;
        throw->help = anchor->prev->prev;

        throw = catch;
        this = throw->help->data + throw->help_indent + 8 + len;
      }
    }

    // Did we find one?

    if (!throw) break;
  }

  // Print out help #defines
  while (sym) {
    struct double_list *dd;

    if (sym->help) {
      int i;
      char *s = xstrdup(sym->name);

      for (i = 0; s[i]; i++) s[i] = tolower(s[i]);
      printf("#define help_%s \"", s);
      free(s);

      dd = sym->help;
      for (;;) {
        i = sym->help_indent;

        // Trim leading whitespace
        s = dd->data;
        while (isspace(*s) && i) {
          s++;
          i--;
        }
        for (i=0; s[i]; i++) {
          if (s[i] == '"' || s[i] == '\\') putchar('\\');
          putchar(s[i]);
        }
        putchar('\\');
        putchar('n');
        dd = dd->next;
        if (dd == sym->help) break;
      }
      printf("\"\n\n");
    }
    sym = sym->next;
  }

  return 0;
}


For MediaWiki (recent comments | status changes | tags | authors | states | release notes | statistics)
The fix seems very weird. Where did you get it? Does it have any side effects? I wasn't able to reproduce the problem at all.
The bug was first documented by Alex Grant on his blog (http://grantovich.net/posts/2009/06/that-weird-ie8-textarea-bug/), and he posted an alternative, CSS-based fix there (as opposed to adding the meta tag). This patch is based on the info on Alex's blog and Wikia's solution (see http://trac.wikia-code.com/browser/wikia/trunk/skins/wikia/css/IE80Fixes.css).
I myself had experienced the bug when editing longer pages. Someone else also noticed this bug back in April 2009 (see http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&mid=19d4437c-d339-46cc-a7b5-c599e66e2fa1&sloc=).
For testing, I copied http://24.wikia.com/wiki/Jack_Bauer to my localhost development wiki and tried editing some of the sections in about the middle of the page (i.e. "Day 5") without using section edit links. Before applying this patch, editing the "Day 5" section (for example) was pretty much impossible. After applying this patch, editing works just as it should.
Great, thanks for the info. I've added a comment to the file in r62276. Why the height specification, though? Is that needed? Presumably it will change display, and doesn't seem to be necessary according to your links.
Also, shouldn't your selector really be "textarea" here, not "#wpTextbox1"? Nothing sets #wpTextbox1 to 100% width, only textarea, AFAICT. So the fix won't work properly on edit conflict resolution, say. I'd think the rule should apply to all textareas, and be loaded on all pages.
As an alternative implementation, we could put the fix in shared.css directly, and then use a * html hack or such to override it for IE6, since that doesn't support min/max-width. Currently only Monobook, Vector, Modern, Chick, and Simple set textareas to 100% width, but it probably doesn't hurt if we extend that to all other skins too.
Without the height property, the bug occurs in my IE8 — dunno why, but that's just the way it is. Using textarea instead of #wpTextbox1 (with or without height) doesn't seem to work. The current CSS works for me even in edit conflict cases.
Using shared.css instead of a separate file sounds like a good idea to me.
I can verify that this bug was there before and not after these CSS changes, suggesting that it be marked as resolved/ok
There are unresolved issues — for instance, it forces widths to 100% in IE8 even in skins where this isn't normally the case, like Cologne Blue. I'm meaning to test it and see if I can improve the fix, if no one else does, but I haven't found the time yet.
Okay, I obviously just don't care enough about IE8. So it would be nice if this could be fixed, but I'm not going to do it, and clearly no one else is. Dunno if we should keep this marked fixme in that case, it seems pointless.
In addition to skin problems noted above, the checked-in fix may not actually fix the problem in all cases. Instead, another fix is to simply set the COLS attribute of the textarea to a very large number (e.g. 5000). This seems to work in every case I've tried, and doesn't break skins or other CSS.
more details: After an hour investigating this, the problem seems to be caused by IE8's handling of a conflict between "COLS" attribute and "width" style on a textarea element. If the width CSS is wider than the default width (font width x cols), IE8 gets confused when you add text and scrolls the textarea. If, instead, the width CSS is smaller than the default width derived from the cols attribute, then all works OK.
The subtle dependence between cols and width is perhaps what makes the problem so tricky to repro, because the same exact page would break or not break depending on the ratio of cols to width. It's easy to build a page which reproes on a large browser window and doesn't repro on a small one!


One day after commenting about pythons on another post (this is for you, Bronwen), and referring to their liking for pandanus, this Amethyst turned up in Tyto today. (It did so well away from the numerous visitors attending a Tyto Expo weekend, who were ferried around the lagoons by a fleet of golf buggies.)
How to find such snakes? Stand still frequently and listen carefully. Even small reptiles will make some noise if moving about on dry litter. This snake crunched through pandanus for some minutes before emerging and ascending the bare trunk it's semi-wrapped around.
No picture, but even louder noises in waist-high grasses yesterday - and seemingly coming from a large animal - signalled the purposeful progress of a particularly fat Red-bellied Black snake. Even from 30 metres away, the snake's swift flow through and high up in the grasses was audible and visible.
Most birds, naturally, ignored the many visitors, who, in turn, just as naturally failed to see most of the birds, but enjoyed the scenic beauty of their surroundings. Naturally, the skies were brilliantly blue through both days.
Got this Red-browed Finch (Neochmia temporalis) early today before the buggies began rolling around the place.
Same with this Red-backed Fairy-wren (Malurus melanocephalus), which paused just long enough on sunlit branch.
Not a lot of action out on the water apart from this Little Pied Cormorant (Microcarba melanoleucos) taking off after I appeared. They are very wary when in the water and almost nonchalant once parked up in trees.


Does any one know if the drum loops (I think they are called “RASS”) on the SK keyboards can be used in a style or sequence? If so, would they be able to change tempo (faster or slower) with the other parts with out changing pitch? I tried it but the other parts were changing tempo but the drum loop stayed the same. Maybe there is something I should be doing but not?
P.S I got the drum loops from the hard drive.


Since most contestants do not read this part, I have to repeat that Bitlandians are quite weird. They have their own jobs, their own working method, their own lives, their own sausages and their own games!

Since you are so curious about Bitland, I'll give you the chance of peeking at one of these games.

BitLGM and BitAryo are playing yet another of their crazy-looking genius-needed Bitlandish games. They've got a sequence of n non-negative integers a1, a2, ..., an. The players make moves in turns. BitLGM moves first. Each player can and must do one of the two following actions in his turn:

- Take one of the integers (we'll denote it as ai). Choose integer x (1 ≤ x ≤ ai). And then decrease ai by x, that is, apply assignment: ai = ai - x.
- Choose integer x $$(1 \leq x \leq \min_{i=1}^{n} a_i)$$. And then decrease all ai by x, that is, apply assignment: ai = ai - x, for all i.

The player who cannot make a move loses.

You're given the initial sequence a1, a2, ..., an. Determine who wins, if both players plays optimally well and if BitLGM and BitAryo start playing the described game in this sequence.


How come there's create() and create_new()?
I'm somewhat confused about the naming scheme for instance creation. In
NotImplementedError whereas there's a method
create_new() which creates a new thread. In
create() but no
create_new(). So what are the intended differences between


You are given two set of points. The first set is determined by the equation A1x + B1y + C1 = 0, and the second one is determined by the equation A2x + B2y + C2 = 0.

Write the program which finds the number of points in the intersection of two given sets.


Methodius received an email from his friend Polycarp. However, Polycarp's keyboard is broken, so pressing a key on it once may cause the corresponding symbol to appear more than once (if you press a key on a regular keyboard, it prints exactly one symbol).

For example, as a result of typing the word "hello", the following words could be printed: "hello", "hhhhello", "hheeeellllooo", but the following could not be printed: "hell", "helo", "hhllllooo".

Note, that when you press a key, the corresponding symbol must appear (possibly, more than once). The keyboard is broken in a random manner, it means that pressing the same key you can get the different number of letters in the result.

For each word in the letter, Methodius has guessed what word Polycarp actually wanted to write, but he is not sure about it, so he asks you to help him.

You are given a list of pairs of words. For each pair, determine if the second word could be printed by typing the first one on Polycarp's keyboard.


Monopolistic competition is a market structure that features many firms that are all selling differentiated products. Unlike monopolies, in this market, there are product substitutes and firms compete on price but not on quality.
Monopolistically competitive firms will produce where marginal revenue equals marginal cost, or in other words, they will produce at the point of tangency between their demand curve and their average total cost curve.
An example of a monopolistically competitive firm would be Coca-Cola who produces many types of drinks with the same brand. Differentiated products in this market exist because firms are selling different things, but they have very similar prices and so it is difficult to tell which one is better than another.
This type of competition makes it hard for firms to differentiate themselves from their competitors and get an advantage over them whereas if there were no substitutes then brands could really stand out on quality alone without worrying about the price too much. If we look at how the demand curve would affect what quantity will be produced by a firm operating under monopolistic competition when demand rises as more people want the product that company can produce more until marginal cost equals marginal revenue.


Dogar receives early career award
Assistant Professor Fahad Dogar received an Early Career Faculty Grant from VMware Research. Intended to recognize the next generation of faculty members, the program supports awardees' research and promotes excellence in teaching. It honors "recently-appointed faculty whose research interests and accomplishments seem poised to have significant impact within the industry and academia."
Dogar is an assistant professor in the Department of Computer Science and a Senior Fellow for Civic Technology at the Jonathan M. Tisch College of Civic Life. He completed his Ph.D. at Carnegie Mellon University and his B.Sc. from Lahore University of Management (LUMS), Pakistan. Before joining Tufts, he was a postdoctoral researcher in the systems and networking group at Microsoft Research UK.
Dogar's research interests span the broad areas of networking and distributed systems, with a recent focus on data center networking and future Internet architectures. His research has been published in venues like ACM SIGCOMM, Usenix NSDI, and ACM MobiCom.


Im using an IP based messaging app called netcat on linux terminal. I can send messages directly to a computers IP and receive back in a way its not encrypted, as shown below:
but when Im sniffing the packets from a third computer ( on my own WLAN ) im getting them in LLC protocol instead of TCP and I cant see the data (I think its encrypted or scrambled ) as shown below:
Any idea whats the problem? or how can I extract the data? I tried ASCII, UNICODE and Hex translation to string nothing worked.
Here is the Hex pcap file for wireshark on GoogleDrive, I hope someone could help me with this issue.
|thread locked Quote Subscribe||
Dec 19th 2016
5 years ago


#ifndef editor_incuded
#define editor_incuded
//----------------------------------------------------------------------

#include "gui/xcb/mip_xcb_window.h"

class Editor {

//------------------------------
private:
//------------------------------

  MIP_XcbWindow*  MWindow = nullptr;
  uint32_t        MWidth  = 400;
  uint32_t        MHeight = 400;

//------------------------------
public:
//------------------------------

  Editor() {
  }

  virtual ~Editor() {
    if (MWindow) delete MWindow;
  }

//------------------------------
public:
//------------------------------

  bool attach(const char* display_name, unsigned long window) {
    MWindow = new MIP_XcbWindow(MWidth,MHeight,"Title",(void*)window);
    return true;
  }

  void show() {
    MWindow->open();
  }

  void hide() {
    MWindow->close();
  }

  void set_width(uint32_t w) {
    MWidth = w;
    MWindow->setSize(MWidth,MHeight);
  }

  void set_height(uint32_t h) {
    MHeight = h;
    MWindow->setSize(MWidth,MHeight);
  }

  void set_scale(double scale) {
  }

  uint32_t get_width() {
    return MWidth;
  }

  uint32_t get_height() {
    return MHeight;
  }

};

//----------------------------------------------------------------------
#endif


#pragma once

#include <ozo/optional.h>
#include <ozo/type_traits.h>
#include <ozo/pg/types.h>

#include <boost/range/algorithm/sort.hpp>
#include <boost/range/algorithm/transform.hpp>
#include <boost/fusion/adapted/struct.hpp>
#include <boost/hana/for_each.hpp>
#include <boost/hana/tuple.hpp>
#include <boost/range/numeric.hpp>

#include <chrono>
#include <cmath>
#include <iostream>
#include <iomanip>
#include <mutex>
#include <thread>
#include <vector>
#include <atomic>

namespace ozo::benchmark {

namespace hana = boost::hana;

template <class Ratio>
struct duration_name {};

template <>
struct duration_name<std::ratio<1>> {
    friend std::ostream& operator <<(std::ostream& stream, duration_name) {
        return stream << "s";
    }
};

template <>
struct duration_name<std::milli> {
    friend std::ostream& operator <<(std::ostream& stream, duration_name) {
        return stream << "ms";
    }
};

template <>
struct duration_name<std::micro> {
    friend std::ostream& operator <<(std::ostream& stream, duration_name) {
        return stream << "us";
    }
};

template <>
struct duration_name<std::nano> {
    friend std::ostream& operator <<(std::ostream& stream, duration_name) {
        return stream << "ns";
    }
};

std::ostream& operator <<(std::ostream& stream, std::chrono::steady_clock::duration value) {
    bool printed = false;
    hana::for_each(hana::make_tuple(std::nano(), std::micro(), std::milli()),
        [&] (auto ratio) {
            if (printed) {
                return;
            }
            using ratio_t = decltype(ratio);
            const auto converted = std::chrono::duration_cast<std::chrono::duration<double, ratio_t>>(value).count();
            if (converted < 1000) {
                stream << converted << ' ' << duration_name<ratio_t> {};
                printed = true;
            }
        });
    if (!printed) {
        using ratio_t = std::ratio<1>;
        const auto converted = std::chrono::duration_cast<std::chrono::duration<double, ratio_t>>(value).count();
        stream << converted << ' ' << duration_name<ratio_t> {};
    }
    return stream;
}

class rows_count_limit_benchmark {
public:
    rows_count_limit_benchmark(const std::size_t max_rows_count)
        : max_rows_count(max_rows_count) {}

    void start() {
        if (!start_time) {
            total_rows_count = 0;
            start_time = std::chrono::steady_clock::now();
        }
    }

    bool step(std::size_t rows_count) {
        if (finish) {
            return false;
        }
        total_rows_count += rows_count;
        if (total_rows_count >= max_rows_count) {
            finish = std::chrono::steady_clock::now();
            return false;
        }
        return true;
    }

    ~rows_count_limit_benchmark() {
        using double_s = std::chrono::duration<double, std::ratio<1>>;
        if (start_time && finish) {
            std::cout << "read " << total_rows_count << " rows, "
                      << std::setprecision(3) << std::fixed
                      << (total_rows_count / std::chrono::duration_cast<double_s>(*finish - *start_time).count())
                      << " row/sec" << std::endl;
        }
    }

private:
    std::size_t max_rows_count;
    __OZO_STD_OPTIONAL<std::chrono::steady_clock::time_point> start_time;
    __OZO_STD_OPTIONAL<std::chrono::steady_clock::time_point> finish;
    std::size_t total_rows_count;
};

template <std::size_t coroutines>
class time_limit_benchmark {
public:
    time_limit_benchmark(std::chrono::steady_clock::duration max_duration = std::chrono::seconds(31))
            : max_duration(max_duration) {
        steps.reserve(100);
        requests.reserve(1000000);
        std::fill(request_start.begin(), request_start.end(), start);
    }

    ~time_limit_benchmark() {
        using double_s = std::chrono::duration<double, std::ratio<1>>;
        if (!requests.empty()) {
            boost::sort(requests);
            std::cout << "mean request time: " << boost::accumulate(requests, std::chrono::steady_clock::duration()) / requests.size() << std::endl;
            std::cout << "median request time: " << requests[requests.size() / 2 + 1] << std::endl;
            std::cout << "q90 request time: " << requests[requests.size() * 9 / 10] << std::endl;
            std::cout << "min request time: " << requests.front() << std::endl;
            std::cout << "max request time: " << requests.back() << std::endl;
        }
        std::cout << "mean requests speed: " << total_requests_count / std::chrono::duration_cast<double_s>(finish - start).count()
                  << " req/sec" << std::endl;
        std::vector<double> requests_speeds;
        if (!steps.empty()) {
            boost::transform(steps, std::back_inserter(requests_speeds),
                [] (const auto& v) { return v.requests_count / std::chrono::duration_cast<double_s>(v.duration).count(); });
            boost::sort(requests_speeds);
            std::cout << "median requests speed: " << requests_speeds[requests_speeds.size() / 2 + 1] << " req/sec" << std::endl;
            std::cout << "min requests speed: " << requests_speeds.front() << " req/sec" << std::endl;
            std::cout << "max requests speed: " << requests_speeds.back() << " req/sec" << std::endl;
        }
        std::cout << "mean read rows speed: " << total_rows_count / std::chrono::duration_cast<double_s>(finish - start).count()
                  << " row/sec" << std::endl;
        std::vector<double> rows_speeds;
        if (!steps.empty()) {
            boost::transform(steps, std::back_inserter(rows_speeds),
                [] (const auto& v) { return v.rows_count / std::chrono::duration_cast<double_s>(v.duration).count(); });
            boost::sort(rows_speeds);
            std::cout << "median read rows speed: " << rows_speeds[rows_speeds.size() / 2 + 1] << " row/sec" << std::endl;
            std::cout << "min read rows speed: " << rows_speeds.front() << " row/sec" << std::endl;
            std::cout << "max read rows speed: " << rows_speeds.back() << " row/sec" << std::endl;
        }
    }

    bool step(std::size_t rows_count, std::size_t token = 0) {
        if (finished) {
            return false;
        }
        requests.push_back(std::chrono::steady_clock::now() - request_start[token]);
        step_rows_count += rows_count;
        if (++step_count % modulo == 0) {
            if (!step_impl()) {
                return false;
            }
        }
        request_start[token] = std::chrono::steady_clock::now();
        return true;
    }

    bool thread_safe_step(std::size_t rows_count, std::size_t token = 0) {
        if (finished) {
            return false;
        }
        {
            const std::unique_lock<std::mutex> lock(requests_mutex);
            requests.push_back(std::chrono::steady_clock::now() - request_start[token]);
        }
        step_rows_count += rows_count;
        if (++step_count % modulo == 0) {
            const std::unique_lock<std::mutex> lock(step_mutex);
            if (!step_impl()) {
                return false;
            }
        }
        request_start[token] = std::chrono::steady_clock::now();
        return true;
    }

private:
    struct step_t {
        std::chrono::steady_clock::duration duration;
        std::size_t requests_count;
        std::size_t rows_count;
    };

    std::mutex requests_mutex;
    std::mutex step_mutex;
    std::chrono::steady_clock::duration max_duration;
    std::size_t total_requests_count = 0;
    volatile std::size_t modulo = 1;
    std::atomic<std::size_t> step_count {0};
    std::atomic<std::size_t> step_rows_count {0};
    std::size_t total_rows_count = 0;
    volatile bool finished = false;
    std::chrono::steady_clock::time_point finish;
    std::vector<step_t> steps;
    std::vector<std::chrono::steady_clock::duration> requests;
    const std::chrono::steady_clock::time_point start = std::chrono::steady_clock::now();
    std::chrono::steady_clock::time_point next_print = start + std::chrono::seconds(1);
    std::chrono::steady_clock::time_point step_start = start;
    std::array<std::chrono::steady_clock::time_point, coroutines> request_start;

    bool step_impl() {
        finish = std::chrono::steady_clock::now();
        if (finish >= next_print) {
            using double_s = std::chrono::duration<double, std::ratio<1>>;
            const auto duration = finish - step_start;
            const auto requests_per_second = step_count / std::chrono::duration_cast<double_s>(duration).count();
            const auto rows_per_second = step_rows_count / std::chrono::duration_cast<double_s>(duration).count();
            steps.push_back(step_t {duration, step_count, step_rows_count});
            modulo = std::max(
                static_cast<std::size_t>(modulo),
                static_cast<std::size_t>(std::round(requests_per_second * 0.05))
            );
            total_requests_count += step_count;
            total_rows_count += step_rows_count;
            const auto total_duration = finish - start;
            std::cout << total_requests_count << " requests done in "
                      << std::chrono::duration_cast<double_s>(total_duration).count() << " seconds, "
                      << std::setprecision(4) << std::fixed << requests_per_second << " req/sec "
                      << total_rows_count << " rows read "
                      << std::setprecision(4) << std::fixed << rows_per_second << " row/sec"
                      << std::endl;
            if (total_duration > max_duration) {
                finished = true;
                return false;
            }
            step_count = 0;
            step_rows_count = 0;
            step_start = finish;
            next_print += std::chrono::seconds(1);
        }
        return true;
    }
};

struct pg_type {
    ozo::pg::name typname;
    oid_t typnamespace;
    oid_t typowner;
    std::int16_t typlen;
    bool typbyval;
    char typcategory;
    bool typispreferred;
    bool typisdefined;
    char typdelim;
    oid_t typrelid;
    oid_t typelem;
    oid_t typarray;
};

} // namespace ozo::benchmark

BOOST_FUSION_ADAPT_STRUCT(ozo::benchmark::pg_type,
    typname, typnamespace, typowner, typlen, typbyval, typcategory,
    typispreferred, typisdefined, typdelim, typrelid, typelem, typarray)


A few days ago, Brian Krebs blogged about a report, published by RSA Research, that uncovered a network of compromised Windows machines being used as VPN exit nodes. The idea was to sell VPN access at premium points across the world to customers within China who needed to bypass the Great Firewall. Compromised machines included those at a major Fortune 500 hotel chain and a hi-tech manufacturer.
Part of what turned the group on to this Terracotta VPN, as they’re calling it, was that some of the exit nodes, perhaps as many as 52, were linked by their IP address to nation-state and other known-APT actors. Apparently, this wasn’t a service used only by consumers; sophisticated actors were also using it to hide their identity and legitimize their connections.
It also highlights why looking at the IP address of a connection alone isn’t helpful, and could even be misleading. That’s why we at DomainTools focus on domain names, and apparently, so does Krebs!
Krebs wanted to go deeper, but all he had was a screenshot of the software from the RSA report and a single domain name: 8800free[dot]info. He’s a power user, though, so one domain was all he needed.
He explained how he started with a historic lookup at DomainTools, found an email address from 2010, pivoted through our Reverse Whois dataset to nine other domains. He also used the current email address for that one starter domain, found 39 other sites again with Reverse Whois, then walked through each of those site’s historical data to find more identities.
In the end, he took his newly-discovered list of domains, downloaded the VPN software, and conducted a mini usability study on each one! He also used Wireshark to sniff the packets, see which IP’s were being used, and finally uncovered a few of the organizations that had compromised machines.
This story is typical of the kind of research people do every day with DomainTools.


You are given n points on a plane. All points are different.

Find the number of different groups of three points (A, B, C) such that point B is the middle of segment AC.

The groups of three points are considered unordered, that is, if point B is the middle of segment AC, then groups (A, B, C) and (C, B, A) are considered the same.


Sobre Five years of experience in designing, coding, testing and supporting a 24*7 High Availability RAC Environment as well as Data Guard (DG). Provide Value Added Services, Escalate & coordinate issues with Oracle Support, Health check, Automation of the DBA tasks, Bug Fixes/Patch /Upgrade, Purging Policy, Growth Trend Analysis and Implementing & Maintaining database standards.
Oracle APPS DBA, Oracle DBA 10g, 11g
Oracle Data Guard
Oracle Real Applications Cluster
ASM and Grid Infrastructure
UNIX Shell Scripting
AIX UNIX, RHEL, OEL and Windows Server


I am trying to take printout of material document which is getting created during shipment completion happens i.e., when we do PGI through VT01N.
The output message is not getting triggered.
In VT01N, I have selected outbound delivery and accordingly message type created and transaction / eveny key created with WL.
Apart from that rest part is done.
I don't know what is that which is preventing the trigger of output.


You have several different options for this:
Google's Guava Library introduces the idea of a Multiset which is capable of counting the occurrences, and also provides a couple of other features.
If you are using Java 8 (which I highly recommend if you have the ability to do so), your
tokenFound method can simply be this:
occurrences.merge(token, 1, (oldValue, one) -> oldValue + one);
occurrences.compute(token, (tokenKey, oldValue) -> oldValue == null ? 1 : oldValue + 1);
Note that as of Java 7, you can initialize the map with the "diamond operator":
Map<Token, Integer> occurrences = new HashMap<>();
Without Java 8, no libraries
If you are unable to use Java 8 and don't want to add Guava as a third party library to your project, there are a small part you can do to simplify your existing code:
Integer previousValue = occurrences.get(token);
occurrences.put(token, previousValue == null ? 1 : previousValue + 1);
- Using the
new Integer constructor is not necessary, Java automatically uses boxing to do this. For Integer values close to zero, this will actually save you a little bit because Java keeps some integers cached.
- You don't need the
newNumberOfOccurs variable as it's only used once.


State teachers' 'betrayal' is nothing of the sort
It is with dismay that I may consider private education for my daughter; certainly not to avoid either the teachers or pupils in state schools, but to avoid the current destructive system if nothing changes in the next 10 years. There must be many teachers who remain working under this regime to try to mitigate the damage to their own pupils. To find out more, Ms Levenson should read the Alexander Review.
Name and address supplied, State school teacher.


Problem Name: Sql -
In this HackerRank Functions in SQL problem solution,
Query the sum of the populations for all Japanese cities in CITY. The COUNTRYCODE for Japan is JPN.
The CITY table is described as follows:
#1 Code Example with SQL
Copy The Code & Try With Live Editor
SELECT SUM(POPULATION) FROM CITY WHERE COUNTRYCODE = 'JPN';


The Macro Economy
What do we measure in the large-scale economy? What's the importance of inflation and employment? How do we model the macro economy?
This video goes over the solutions to the questions at the end of the chapter. Be sure you've finished all practice questions before watching.


Person of charge. The cities where finance is headquartered, especially New York Times. Seth MacFarlane provides the following addresses: dpj delphi.
Attractive Doctor George Mountain ghetto generally
looked out the tail plug naked in public Bungundarra the lower stratosphere
Too dead tired into slumber. Tomorrow was a really bad at all. Watch full-length ManSurfer TV Gay Porn updated daily.


Quore is an atmospheric Quake engine running on GNU/Linux systems with enhanced graphics, increased limits, configurable HUD and ambiences, and different modes for changing the gameplay.
MakePAK is a command-line tool for creating Quake .PAK files. It is supposed to be paired with PhysicsFS, which can read Quake .PAK archives. It follows the GNU standards, providing a portable, consistent, and complete utility.
Software to build and execute shell command lines from standard input in parallel.
Aliens have invaded your school, and it's up to the girls of the Science Club to save the day.


If we were to make a list of the things that both types of games possess, we can try to see what makes pen and paper roleplaying games special. Let's take Skyrim as our "computer game" example, since that's the latest fantasy craze.
Skyrim shares the following elements with traditional pen and paper roleplaying games:
- an alien world, developed to the point where one can participate in it
- a single PC
- many NPCs who can react to the actions of the PC insofar as the game's programming allows
- a wide world to explore with many hidden places and side-quests and things of that nature that allow one to have an exploratory spirit
- a world that "feels" alive, in that it responds somewhat realistically to change
- strict rules that are enforced by the game-engine (or the DM in our PnP case)
- enemies which think as intelligently as the game-engine (or DM) can allow
True adaptability doesn't mean that once you've completed a quest it isn't available anymore, or that the farmhand you helped out marries his beau and has no more to say to you. True adaptability means that the world continues to adapt around you based on your own actions and, in the case of a certain kind of game (my kind of game) regardless of your actions. I cannot realistically foresee a day when that can be achieved by a computer. Unfortunately, the limits of computer games tend to preclude this sort of endless forward motion. At some point, you reach the end of the quest or the end of the dialog that the programmers created and the world grinds to a halt. This is a sort of virtual adaptability that has only enough depth to give you the feeling of change. Don't press it, though, or the curtain will soon be twitched aside to reveal the limitations of the system.
An expanding setting is related to true adaptability, but it applies to the world at large instead of a single place in specific. While adaptability may govern the actions of the farmstead you are on (you could stay there forever helping out these folks, because the DM would continue to provide you with new situations and scenarios) expansion governs the wider setting at large. When you reach the end of a map in a video game, you generally are forced to turn around. When you reach a blank spot on the map in a pen and paper game, your DM usually says "Alright, we'll resume this in a few hours or tomorrow or next week as I draw up some new maps." The setting continues to grow as long as you are interested in playing in it.
Lastly, other players is the most minor issue out of all of these, since there are roleplaying games that allow for other players. However, the nature of game design tends towards storytelling with all that this implies: main characters, plot arcs, and things of that nature. It's never really fun to play a sidekick in a story when you are explicitly a side-kick. Your actions don't really matter, it is the protagonist PC who can change the world. That's a kick in the teeth for realism and ego both. In a pen and paper game, no one has to be the protagonist. The entire idea of a protagonist is sort of counter to the experience because, as I've said before, like life the story of a D&D game can be what you make of it rather than something told by the DM.
Now, what is it that allows pen and paper games to achieve these three harmonious unities? The presence of the DM. The DM is not a computer that sits there to arbitrate rules. If that's all you're using your DM for, you should just go and play a computer game. Computers do that better than people do, and they don't have to spend time flipping through books or getting challenged to make sure they're right. The primary job of a DM, then, or any referee, isn't to be a repository of rules-knowledge (it helps) but rather to hold in his mind's-eye a living growing world and somehow transport you, the player, into that world.
Remember that next time you're about to tell your DM that you "deserve" a magical item or two.


If you are looking for some excellent .NET tips, tricks and tons of sample code, head over to Through the Interface, by Kean Walmsley from Autodesk.
Some sample topics you will find there (with code) include:
Getting the type of an AutoCAD solid using .NET
Displaying a progress meter during long operations in AutoCAD using .NET
Creating a partial CUI file using .NET and loading it inside AutoCAD
Adding a context menu to AutoCAD objects using .NET
Iterating through a polyline's vertices using AutoCAD .NET
PermaLink Posted 7/18/2007 07:56:00 AM


Analysis - 👨🏾🎓
The DXY is on the monthly from a structural and institutional perspective I can see the momentum continuing until 92.184 to mitigate the orders made in the last period before a continuation in bearishness to create a monthly lower low.
The 82.000 , which has significance as far back as DEC 1990 could be a key level to show major dollar strength, failure in this level to hold could have catastrophic consequences for the USD
The rise of blockchain and cryptocurrency applications have accelerated during this period of decline, this is set to continue as people seek better stores of value than the USD. The decline itself and Quantitative easing never seen on a scale like this before have raised large questions on the suitability of the USD as the worlds global reserve currency for the longterm.
Let me know your thoughts, I've attached more snapshots below!


|Please somebody explain natural vs unnatural links|
I have recently launched a website (about a month ago) and I am putting all my efforts in content building, link building etc. I am doing it manually, but aggressively. Within 50 days I have nearly 220 backlinks indexed in webmastertools.
Now,can building backlinks aggressively trigger google to consider the links are unnatural? I hope not. If so, can somebody explain difference between natural and unnatural links. I am asking this because if I am doing something wrong by building links aggressively (though manually) I can correct myself at these early stages?
Please somebody help. Thanks in advance.
Long and short - yes, building an unnatural link profile can set off red flags with Google.
Google is able to measure inbound link development on a variety of websites in your genre. Additionally, Google can likely segment those links to know what 'types' of websites are proponents of flash links - a large series of inbound links from news sources and blogs.
It is the link profile - the number of links over a time frame, type of links, diversity of links, topic of website (and sub themes) and pages linked to, along with many other metrics, that Google can use to assess whether linking is unnatural or natural.
I would suggest you try to build quality editorial links, as well as a diverse cross section of links to the website over time. Be patient, don't overdo it.
Editorial links - links given to you freely to support your content - are almost always of the most value, and are often the least scrutinized. The worst the quality of link, and the greater numbers, the greater the risk.
Hi, Thanks for the reply.
If this is the case, can you suggest me a good number of links per month that can be built safely.
That number is different for every website. But I can tell you that is VERY difficult to build 220 editorially sound high quality links unless you are already a major authority.
Focus less on the number of links, and focus more on getting high quality links from aged websites that are related to what you do.
Regarding quality of links, I am trying my best to identify high PR sites.
I am writing many articles to top article directories. Now, are links from article directories are of good quality? I am asking this because, the article directories are not directly related to our site's purpose.
My answer would be yes, and no. At one point, the value from article directories was considerable, but shortly thereafter was reduced significantly because of the relentless pummeling of these directories with crap content.
The value lies in finding niche directories, and websites which host niche directory / content sections where, if you content them, there is a chance they might consider posting content of yours.
Since the topic is related to your niche, 90% of the other webmasters do not get content published there, and often it takes some charm and persistence (and great content) to get your content posted.


// This file originally generated by etw_list
//     version:    development branch 1f6ac03eede3e9ab6a6bae5c6de68ad6dd75312d
//     parameters: --show=all --output=c++ --event=Blit::Info --event=Flip::Info --event=FlipMultiPlaneOverlay::Info --event=HSyncDPCMultiPlane::Info --event=VSyncDPCMultiPlane::Info --event=MMIOFlip::Info --event=MMIOFlipMultiPlaneOverlay::Info --event=Present::Info --event=PresentHistory::Start --event=PresentHistory::Info --event=PresentHistoryDetailed::Start --event=QueuePacket::Start --event=QueuePacket::Stop --event=VSyncDPC::Info --provider=Microsoft-Windows-DxgKrnl
// Copyright (C) 2020-2021 Intel Corporation
// SPDX-License-Identifier: MIT
#pragma once

namespace Microsoft_Windows_DxgKrnl {

    struct __declspec(uuid("{802EC45A-1E99-4B83-9920-87C98277BA9D}")) GUID_STRUCT;
    static const auto GUID = __uuidof(GUID_STRUCT);

    // Win7 GUID added manually:
    namespace Win7 {
        struct __declspec(uuid("{65cd4c8a-0848-4583-92a0-31c0fbaf00c0}")) GUID_STRUCT;
        struct __declspec(uuid("{069f67f2-c380-4a65-8a61-071cd4a87275}")) BLT_GUID_STRUCT;
        struct __declspec(uuid("{22412531-670b-4cd3-81d1-e709c154ae3d}")) FLIP_GUID_STRUCT;
        struct __declspec(uuid("{c19f763a-c0c1-479d-9f74-22abfc3a5f0a}")) PRESENTHISTORY_GUID_STRUCT;
        struct __declspec(uuid("{295e0d8e-51ec-43b8-9cc6-9f79331d27d6}")) QUEUEPACKET_GUID_STRUCT;
        struct __declspec(uuid("{5ccf1378-6b2c-4c0f-bd56-8eeb9e4c5c77}")) VSYNCDPC_GUID_STRUCT;
        struct __declspec(uuid("{547820fe-5666-4b41-93dc-6cfd5dea28cc}")) MMIOFLIP_GUID_STRUCT;
        static const auto GUID = __uuidof(GUID_STRUCT);
        static const auto BLT_GUID = __uuidof(BLT_GUID_STRUCT);
        static const auto FLIP_GUID = __uuidof(FLIP_GUID_STRUCT);
        static const auto PRESENTHISTORY_GUID = __uuidof(PRESENTHISTORY_GUID_STRUCT);
        static const auto QUEUEPACKET_GUID = __uuidof(QUEUEPACKET_GUID_STRUCT);
        static const auto VSYNCDPC_GUID = __uuidof(VSYNCDPC_GUID_STRUCT);
        static const auto MMIOFLIP_GUID = __uuidof(MMIOFLIP_GUID_STRUCT);
    }

    enum class Keyword : uint64_t {
        Base = 0x1,
        Profiler = 0x2,
        References = 0x4,
        ForceVsync = 0x8,
        Patch = 0x10,
        Cdd = 0x20,
        Resource = 0x40,
        Memory = 0x80,
        Dxgkrnl_StatusChangeNotify = 0x100,
        DxgKrnl_Power = 0x200,
        DriverEvents = 0x400,
        LongHaul = 0x800,
        StablePower = 0x1000,
        DefaultOverride = 0x2000,
        HistoryBuffer = 0x4000,
        GPUScheduler = 0x8000,
        DxgKrnl = 0x10000,
        DxgKrnl_WDI = 0x20000,
        Miracast = 0x40000,
        IndirectSwapChain = 0x80000,
        GPUVA = 0x100000,
        VidMmWorkerThread = 0x200000,
        Diagnostics = 0x400000,
        VirtualGpu = 0x800000,
        AdapterLock = 0x1000000,
        MixedReality = 0x2000000,
        HardwareSchedulingLog = 0x4000000,
        win_ResponseTime = 0x1000000000000,
        Microsoft_Windows_DxgKrnl_Diagnostic = 0x8000000000000000,
        Microsoft_Windows_DxgKrnl_Performance = 0x4000000000000000,
        Microsoft_Windows_DxgKrnl_Power = 0x2000000000000000,
        Microsoft_Windows_DxgKrnl_Contention = 0x1000000000000000,
        Microsoft_Windows_DxgKrnl_Admin = 0x800000000000000,
        Microsoft_Windows_DxgKrnl_Operational = 0x400000000000000,
    };

    enum class Level : uint8_t {
        win_LogAlways = 0x0,
        win_Error = 0x2,
        win_Informational = 0x4,
    };

    enum class Channel : uint8_t {
        Microsoft_Windows_DxgKrnl_Diagnostic = 0x10,
        Microsoft_Windows_DxgKrnl_Performance = 0x11,
        Microsoft_Windows_DxgKrnl_Power = 0x12,
        Microsoft_Windows_DxgKrnl_Contention = 0x13,
        Microsoft_Windows_DxgKrnl_Admin = 0x14,
        Microsoft_Windows_DxgKrnl_Operational = 0x15,
    };

    // Event descriptors:
#define EVENT_DESCRIPTOR_DECL(name_, id_, version_, channel_, level_, opcode_, task_, keyword_) struct name_ { \
    static uint16_t const Id      = id_; \
    static uint8_t  const Version = version_; \
    static uint8_t  const Channel = channel_; \
    static uint8_t  const Level   = level_; \
    static uint8_t  const Opcode  = opcode_; \
    static uint16_t const Task    = task_; \
    static Keyword  const Keyword = (Keyword) keyword_; \
};

// NOTE: Blit_Cancel, IndependentFlip_Info, HSyncDPCMultiPlane_Info added manually
EVENT_DESCRIPTOR_DECL(Blit_Info                     , 0x00a6, 0x00, 0x11, 0x04, 0x00, 0x0067, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(Blit_Cancel                   , 0x01f5, 0x00, 0x11, 0x04, 0x00, 0x0135, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(Flip_Info                     , 0x00a8, 0x00, 0x11, 0x00, 0x00, 0x0003, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(FlipMultiPlaneOverlay_Info    , 0x00fc, 0x00, 0x11, 0x00, 0x00, 0x008f, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(HSyncDPCMultiPlane_Info       , 0x017e, 0x00, 0x11, 0x00, 0x00, 0x00e6, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(IndependentFlip_Info          , 0x010a, 0x02, 0x11, 0x00, 0x00, 0x0097, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(MMIOFlip_Info                 , 0x0074, 0x00, 0x11, 0x00, 0x00, 0x0011, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(MMIOFlipMultiPlaneOverlay_Info, 0x0103, 0x03, 0x11, 0x00, 0x00, 0x0090, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(Present_Info                  , 0x00b8, 0x01, 0x11, 0x00, 0x00, 0x006b, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(PresentHistory_Start          , 0x00ab, 0x00, 0x11, 0x00, 0x01, 0x0006, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(PresentHistory_Info           , 0x00ac, 0x00, 0x11, 0x00, 0x00, 0x0006, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(PresentHistoryDetailed_Start  , 0x00d7, 0x00, 0x11, 0x00, 0x01, 0x007e, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(QueuePacket_Start             , 0x00b2, 0x01, 0x11, 0x00, 0x01, 0x0009, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(QueuePacket_Stop              , 0x00b4, 0x01, 0x11, 0x00, 0x02, 0x0009, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(QueuePacket_Start_2           , 0x00f4, 0x01, 0x11, 0x00, 0x01, 0x0009, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(QueuePacket_Start_3           , 0x00f5, 0x02, 0x11, 0x00, 0x01, 0x0009, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(VSyncDPC_Info                 , 0x0011, 0x00, 0x11, 0x00, 0x00, 0x000b, 0x4000000000000001)
EVENT_DESCRIPTOR_DECL(VSyncDPCMultiPlane_Info       , 0x0111, 0x02, 0x11, 0x00, 0x00, 0x009f, 0x4000000000000001)

#undef EVENT_DESCRIPTOR_DECL

#pragma warning(push)
#pragma warning(disable: 4200) // nonstandard extension used: zero-sized array in struct

#pragma pack(push)
#pragma pack(1)

template<typename PointerT>
struct Blit_Info_Struct {
    PointerT    hwnd;
    PointerT    pDmaBuffer;
    uint64_t    PresentHistoryToken;
    PointerT    hSourceAllocation;
    PointerT    hDestAllocation;
    uint32_t    bSubmit;
    uint32_t    bRedirectedPresent;
    uint32_t    Flags;
    int32_t     Source_Left;
    int32_t     Source_Right;
    int32_t     Source_Top;
    int32_t     Source_Bottom;
    int32_t     Dest_Left;
    int32_t     Dest_Right;
    int32_t     Dest_Top;
    int32_t     Dest_Bottom;
    uint32_t    SubRectCount;
};

template<typename PointerT>
struct Flip_Info_Struct {
    PointerT    pDmaBuffer;
    uint32_t    VidPnSourceId;
    PointerT    FlipToAllocation;
    uint32_t    FlipInterval;
    uint32_t    FlipWithNoWait;
    uint32_t    MMIOFlip;
};

template<typename PointerT>
struct FlipMultiPlaneOverlay_Info_Struct {
    uint32_t    VidPnSourceId;
    uint32_t    LayerIndex;
    uint32_t    Enabled;
    PointerT    hAllocation;
    uint32_t    Flags;
    int32_t     SrcRect_left;
    int32_t     SrcRect_right;
    int32_t     SrcRect_top;
    int32_t     SrcRect_bottom;
    int32_t     DstRect_left;
    int32_t     DstRect_right;
    int32_t     DstRect_top;
    int32_t     DstRect_bottom;
    int32_t     ClipRect_left;
    int32_t     ClipRect_right;
    int32_t     ClipRect_top;
    int32_t     ClipRect_bottom;
    uint32_t    Rotation;
    uint32_t    Blend;
    uint32_t    NumFilters;
    uint32_t    ColorSpace;
    uint32_t    HDRMetaDataType;
    uint32_t    SDRWhiteLevel;
};

template<typename PointerT>
struct HSyncDPCMultiPlane_Info_Struct_Part1 {
    PointerT    pDxgAdapter;
    uint32_t    PlaneCount;
    uint64_t    ScannedPhysicalAddress[]; // Count provided by PlaneCount.
};
struct HSyncDPCMultiPlane_Info_Struct_Part2 {
    uint32_t    VidPnSourceId;
    uint32_t    FrameNumber;
    uint32_t    FlipEntryCount;
    uint64_t    FlipSubmitSequence[]; // Count provided by FlipEntryCount.
};

template<typename PointerT>
struct MMIOFlip_Info_Struct {
    PointerT    pDxgAdapter;
    uint32_t    VidPnSourceId;
    uint32_t    FlipSubmitSequence;
    PointerT    FlipToDriverAllocation;
    uint64_t    FlipToPhysicalAddress;
    uint32_t    FlipToSegmentId;
    uint32_t    FlipPresentId;
    uint32_t    FlipPhysicalAdapterMask;
    uint32_t    Flags;
};

template<typename PointerT>
struct MMIOFlipMultiPlaneOverlay_Info_Struct {
    PointerT    pDxgAdapter;
    uint32_t    VidPnSourceId;
    uint32_t    LayerIndex;
    uint64_t    FlipSubmitSequence;
    PointerT    FlipToDriverAllocation;
    uint64_t    FlipToPhysicalAddress;
    uint32_t    FlipToSegmentId;
    uint32_t    FlipPresentId;
    uint32_t    FlipPhysicalAdapterMask;
    int32_t     SrcRect_left;
    int32_t     SrcRect_right;
    int32_t     SrcRect_top;
    int32_t     SrcRect_bottom;
    int32_t     DstRect_left;
    int32_t     DstRect_right;
    int32_t     DstRect_top;
    int32_t     DstRect_bottom;
    int32_t     ClipRect_left;
    int32_t     ClipRect_right;
    int32_t     ClipRect_top;
    int32_t     ClipRect_bottom;
    uint32_t    ColorSpace;
    uint32_t    FlipEntryStatusAfterFlip;
    uint32_t    Enabled;
    uint32_t    SDRWhiteLevel;
    uint32_t    DirtyRectCount;
};

template<typename PointerT>
struct Present_Info_Struct {
    uint32_t    hContext;
    PointerT    hWindow;
    uint32_t    VidPnSourceId;
    uint32_t    FlipInterval; // Added in v1
    uint32_t    Flags;
    uint32_t    ReturnStatus;
    PointerT    hSrcAllocHandle;
    PointerT    hDstAllocHandle;
};

template<typename PointerT>
struct PresentHistory_Start_Struct {
    PointerT    hAdapter;
    PointerT    Token;
    uint32_t    Model;
    uint32_t    TokenSize;
    uint64_t    TokenData;
};

template<typename PointerT>
struct PresentHistory_Info_Struct {
    PointerT    hAdapter;
    PointerT    Token;
    uint32_t    Model;
    uint32_t    TokenSize;
    uint64_t    TokenData;
};

template<typename PointerT>
struct PresentHistoryDetailed_Start_Struct_Part1 {
    PointerT    hAdapter;
    PointerT    Token;
    uint32_t    Model;
    uint32_t    TokenSize;
    uint64_t    TokenData;
    uint32_t    ScrollRect_left;
    uint32_t    ScrollRect_right;
    uint32_t    ScrollRect_top;
    uint32_t    ScrollRect_bottom;
    uint32_t    ScrollOffset_X;
    uint32_t    ScrollOffset_Y;
    uint32_t    DirtyRectCount;
    int32_t     Left[]; // Count provided by DirtyRectCount.
};
struct PresentHistoryDetailed_Start_Struct_Part2 {
    int32_t     Right[]; // Count provided by DirtyRectCount.
};
struct PresentHistoryDetailed_Start_Struct_Part3 {
    int32_t     Top[]; // Count provided by DirtyRectCount.
};
struct PresentHistoryDetailed_Start_Struct_Part4 {
    int32_t     Bottom[]; // Count provided by DirtyRectCount.
};
struct PresentHistoryDetailed_Start_Struct_Part5 {
    uint32_t    SourceRect_left;
    uint32_t    SourceRect_right;
    uint32_t    SourceRect_top;
    uint32_t    SourceRect_bottom;
    uint32_t    DestWidth;
    uint32_t    DestHeight;
    uint32_t    TargetRect_left;
    uint32_t    TargetRect_right;
    uint32_t    TargetRect_top;
    uint32_t    TargetRect_bottom;
};

template<typename PointerT>
struct QueuePacket_Start_Struct {
    PointerT    hContext;
    uint32_t    PacketType;
    uint32_t    SubmitSequence;
    uint64_t    DmaBufferSize;
    uint32_t    AllocationListSize;
    uint32_t    PatchLocationListSize;
    uint32_t    bPresent;
    PointerT    hDmaBuffer;
    PointerT    pQueuePacket;
    uint64_t    ProgressFenceValue;
};

template<typename PointerT>
struct QueuePacket_Stop_Struct {
    PointerT    hContext;
    uint32_t    PacketType;
    uint32_t    SubmitSequence;
    uint32_t    bPreempted;
    uint32_t    bTimeouted;
    PointerT    pQueuePacket;
};

template<typename PointerT>
struct QueuePacket_Start_2_Struct {
    PointerT    hContext;
    uint32_t    SubmitSequence;
    uint32_t    Flags;
    PointerT    hSyncObject;
    uint64_t    FenceValue;
    PointerT    pQueuePacket;
};

template<typename PointerT>
struct QueuePacket_Start_3_Struct_Part1 {
    PointerT    hContext;
    uint32_t    SubmitSequence;
    uint32_t    Flags;
    uint32_t    ObjectCount;
    PointerT    ObjectArray[]; // Count provided by ObjectCount.
};
struct QueuePacket_Start_3_Struct_Part2 {
    uint64_t    FenceValue[]; // Count provided by ObjectCount.
};
template<typename PointerT>
struct QueuePacket_Start_3_Struct_Part3 {
    PointerT    pQueuePacket;
};

template<typename PointerT>
struct VSyncDPC_Info_Struct {
    PointerT    pDxgAdapter;
    uint32_t    VidPnTargetId;
    uint64_t    ScannedPhysicalAddress;
    uint32_t    VidPnSourceId;
    uint32_t    FrameNumber;
    int64_t     FrameQPCTime;
    PointerT    hFlipDevice;
    uint32_t    FlipType;
    uint64_t    FlipFenceId;
};

template<typename PointerT>
struct VSyncDPCMultiPlane_Info_Struct_Part1 {
    PointerT    pDxgAdapter;
    uint32_t    PlaneCount;
    uint64_t    PresentIdOrPhysicalAddress[]; // Count provided by PlaneCount.
};
struct VSyncDPCMultiPlane_Info_Struct_Part2 {
    uint32_t    VidPnSourceId;
    uint32_t    FrameNumber;
    uint32_t    FlipEntryCount;
    uint64_t    FlipSubmitSequence[]; // Count provided by FlipEntryCount.
};
struct VSyncDPCMultiPlane_Info_Struct_Part3 {
    uint32_t    FlipQueues;
    uint32_t    FlipQueueIntervalTarget[]; // Count provided by FlipQueues.
};

#pragma pack(pop)
#pragma warning(pop)

// Manually added:
enum class FlipEntryStatus {
    FlipWaitVSync = 5,
    FlipWaitComplete = 11,
    FlipWaitHSync = 15,
    // There are others, but they're more complicated to deal with.
};

enum class MMIOFlip {
    Immediate = 0x2,
    OnNextVSync = 0x4
};

}

// d3dkmthk.h
enum D3DKMT_PRESENT_MODEL
{
    D3DKMT_PM_UNINITIALIZED       = 0,
    D3DKMT_PM_REDIRECTED_GDI       = 1,
    D3DKMT_PM_REDIRECTED_FLIP      = 2,
    D3DKMT_PM_REDIRECTED_BLT       = 3,
    D3DKMT_PM_REDIRECTED_VISTABLT  = 4,
    D3DKMT_PM_SCREENCAPTUREFENCE   = 5,
    D3DKMT_PM_REDIRECTED_GDI_SYSMEM  = 6,
    D3DKMT_PM_REDIRECTED_COMPOSITION = 7,
    D3DKMT_PM_SURFACECOMPLETE        = 8,
    D3DKMT_PM_FLIPMANAGER            = 9,
};

// dxetwevt.h
enum DXGKETW_QUEUE_PACKET_TYPE {
    DXGKETW_RENDER_COMMAND_BUFFER     = 0,
    DXGKETW_DEFERRED_COMMAND_BUFFER   = 1,
    DXGKETW_SYSTEM_COMMAND_BUFFER     = 2,
    DXGKETW_MMIOFLIP_COMMAND_BUFFER   = 3,
    DXGKETW_WAIT_COMMAND_BUFFER       = 4,
    DXGKETW_SIGNAL_COMMAND_BUFFER     = 5,
    DXGKETW_DEVICE_COMMAND_BUFFER     = 6,
    DXGKETW_SOFTWARE_COMMAND_BUFFER   = 7,
    DXGKETW_PAGING_COMMAND_BUFFER     = 8,
};


Erik Moeller wrote:
On 4/13/06, Gregory Maxwell <gmaxwell(a)gmail.com>
AFAIR, most string matches in mysql are case
insensitive, which would
mean that we could have indexed case insensitive matches quickly...
but I'm guessing that our use of binary fields for titles (which is
required because no version of mysql has complete UTF-8 support) most
likely breaks that.
Yes, they are, and yes, it does. Could someone explain what the exact
reason is that we're using varchar binary in MediaWiki for page
titles? I've been using regular varchars for my WiktionaryZ tables,
and so far it seems to work fine with UTF-8. Where exactly does a
non-binary varchar break?
It could break string matching, but would definitely break sorting. (Sorting by
codepoint may suck, but at least it's predictable.)
More generally, deliberately choosing a non-binary collation which applies to a
*different character set* from the one really you're using seems pretty silly.
You get unpredictable, incorrect sorting and potentially have strings rejected
Might it make sense to use non-binary strings and use
comparisons instead where case-sensitivity is required?
When MySQL finally reaches the mid-1990s and supports full Unicode, we'll be
able to do that.
-- brion vibber (brion @ pobox.com


This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Dialog: Don't change DOM position on open. Fixes #6137 - dial…
…og('open') causes form elements to reset on IE7." This reverts commit 67b1db1. Reverting so I can commit again with the proper author.
- Loading branch information
Showing 2 changed files with 3 additions and 17 deletions.


Ria Galanos is in her 15th year teaching and has been a computer science teacher since 2003. After the first leg of her teaching career at Centennial High School in Roswell, Georgia, 2012 brought her to a new position teaching computer science at the Thomas Jefferson High School for Science and Technology in Alexandria, Virginia where she teaches both the old APCS AB course and Mobile App Development (for Android). Ria is passionate about introducing young people to the field of computer science, teaching them how to program, showing them how to create something from nothing, and making them thirsty to learn more. She enjoys collaborating with and mentoring other teachers in order to improve student achievement and retention in computer science. She is interested in finding ways to increase: the number of students who take computer science courses at the middle and high school levels, the percentage of girls and under-represented minorities in those courses, and the number of students who pursue further study in the field. She has served as a reader/table leader for the AP Computer Science exam since 2007. In 2010, she co-founded the Georgia chapter of the Computer Science Teachers Association (CSTA) and served as the chapter’s first president. She was a member of the 2008-09 Georgia Disciplinary Commons for Computing Educators and returned as the high school teacher leader for 2009-11. In 2010, she mentored two teaching teams for Georgia Institute of Technology’s Operation Reboot program, a program to help IT professionals re-enter the workforce as a high school computer science teacher by pairing them with an existing computing teacher. From 2011-13, Ria served on the Board of Directors for the CSTA as a 9-12th representative and chaired the Professional Development Committee. She serves as moderator of the CSTA Member Discussions Listserv. She is an active member of the Northern Virginia chapter of the CSTA and held a teacher workshop on App Inventor for the chapter in January 2013. In the summers of 2011 and 2012, Ria served as an instructor for Google’s Computer and Programming Experience (CAPE) camp for rising ninth graders. She continues to work with Google’s K12 Education Outreach team on projects geared towards inspiring young people to explore and pursue careers in computer science and is currently a teaching fellow for their Trailblazer program. She was one of 20 high-school educators to receive the 2011 Aspirations in Computing Educator Award sponsored by the National Center for Women & Information Technology and Google for her support of young women’s participation in computing and technology. Ria holds a bachelor's degree in Aeronautical Engineering from Rensselaer Polytechnic Institute, a master's degree in Secondary Mathematics Education from Virginia Polytechnic Institute and State University, an advanced teaching diploma from Emory University, and is endorsed to teach computer science, mathematics, and physics.


"At the top of the feature list for this new distro is
something that all users will notice, namely faster boot times --
specifically a claim for a 20 second startup. Faster startup is a
key goal for Linux distros this release season, Ubuntu Jaunty which
should be out at the end of April, also features a faster startup.
"Fedora is also aiming to have the new ext4 Linux filesystem as
the default for new Fedora 11 installations, which will not only
aid boot times but performance of the distro overall."


Women's rights in the US throughout time.
What is typography? What is a typographic weathervane? This project tested the designer to use typography in any subject and in any medium. I designed a timeline to show the growth of women through the past 165 years in the United States. The typography illustrates how women advanced in social, economic, and political changes.


The Most Underrated Starfighter - Thrawn’s Animated Analysis
The Assault Gunboat, or Alpha Class XG-1 Star Fighter, was first seen in the old X-wing PC game, and intimidated rebel pilots when it arrived on the scene.
Unfortunately is is rarely seen outside the X-wing series of games.
Support Resurrected Starships on Patreon!! https://www.patreon.com/user?u=4159483
All animations, models, voice acting, and sounds created by the author - this type of video takes long hours of work!
Main Theme by Tall Sound Bar : https://youtu.be/hIDKuVll5TU
Outtro Music by TechnoAxe, Scientific Reasoning: https://youtu.be/oY7Ht6G1zGA


A permutation p of length n is a sequence of distinct integers p1, p2, ..., pn (1 ≤ pi ≤ n). A permutation is an identity permutation, if for any i the following equation holds pi = i.

A swap (i, j) is the operation that swaps elements pi and pj in the permutation. Let's assume that f(p) is the minimum number of swaps that you need to make the permutation p an identity permutation.

Valera wonders, how he can transform permutation p into any permutation q, such that f(q) = m, using the minimum number of swaps. Help him do that.


Does anyone know a good site to get info about the PSX or PC game Final Fantasy 8 ? (Artwork, Walktrough, Info About Items, ECT.)
PS. Where can i find a lead-pipe or something ? (it's needed to upgrade Squall's weapon.)
You can look at http://go.to/psxdepot.
The site is down, any oder suggestions ?Tnx anyway two,
Well, if i remember right, you have to steal the pipes from the annoying creatures who roam on the small south islands. Stealing is an ability only diablo can learn ( diablo is the GF who comes out of the ring you get from the ehhh... president of the school )I'll look it up when I get home , If I'm wrong I'll post the correct answer
Or you can try this link: http://www.gamingforce.com/rpg/games/ff8/
check http://www.gamefaqs.com this is the best site for walktroughs and codes!!!


|Update interactive graph with franchises
||Continue Project 8852207.
Create a graph/chart for the top franchises in the attached file. Make this the default display. Install the entire graphing feature on new web site.
The previous project is attached for reference only.
||PHP, Website Design, Graphic Design, HTML
||Apr 27, 2017
|Analyze some data -- 2
||I have a data analysis task. I need this mini project to be done ASAp in python..
it encompasses simple networking, multi-threading, database, graphing, configuration, classes...
Ask me any questions and doubts you have.... you can refer to internet anywhere to begin this project as well...
1. Create account in [url removed, login to view]
2. Get API access key
3. Make a multi-threaded program t...
||Apr 23, 2017
||Apr 23, 20172d 15h