I would like to upgrade my current NetScaler VPX Express configuration via GUI. For some security reason Internet Explorer and FireFox aren’t able to access the GUI. They return the error message that the NetScaler is using a wrong SSL certificate.
The default SSL self-signed certificate is installed on the appliance. I have uploaded a “real” certificate to content switch and load balancing. I would like to use the same certificate for GUI management. To change the certificate, access the NetScaler via SSH.
Check the current certificate run the following command and you will get the following output.
sh run | grep “bind ssl service”
bind ssl service nshttps-::1l-443 -certkeyName ns-server-certificate
bind ssl service nsrpcs-::1l-3008 -certkeyName ns-server-certificate
bind ssl service nskrpcs-127.0.0.1-3009 -certkeyName ns-server-certificate
bind ssl service nshttps-127.0.0.1-443 -certkeyName ns-server-certificate
bind ssl service nsrpcs-127.0.0.1-3008 -certkeyName ns-server-certificate
If you would like to see all your available certificate enter the following command.
> sh run | grep “ssl certKey”
add ssl certKey ns-server-certificate -cert ns-server.cert -key ns-server.key
add ssl certKey wildcart-booches-nl -cert sslcert-wildcard-booches-nl.pem -key passwd-private-wildcard-1route-nl.pem -passcrypt “adfadf&*fU=”
add ssl certKey root-booches -cert cacert.pem
I would like to bind the certificate “wildcard-booches-nl”, so I use the following commands to bind the certificate to the different management services.
bind ssl service nskrpcs-127.0.0.1-3009 -certkeyName wildcard-booches-nl
bind ssl service nshttps-127.0.0.1-443 -certkeyName wildcard-booches-nl
bind ssl service nsrpcs-127.0.0.1-3008 -certkeyName wildcard-booches-nl
Managing networking components is possible via a web interface or via a command-line interface. It doesn’t matter which method you prefer, but it does matter that the connection should be secure. If you use telnet (cli) or http (web interface) the management traffic is send clear-text across the network.
I still notice that a lot of people use insecure communiction methods. It is preferred to use ssh (cli) or https (web interface) to manage your components. The commands below can be used with HP ProCurve components to enable ssh and https and disable telnet and http management protocols.(The key size depends on the type of component and firmware version used)
switch01(config)# crypto key generate ssh rsa bits 2048
switch01(config)# ip ssh
switch01(config)# no telnet-server
switch01(config)# crypto key generate cert rsa <1024|2048>
switch01(config)# crypto host-cert generate self-signed
Validity start date [02/16/2015]:
Validity end date [02/16/2016]: 09/23/2320
Common name [10.10.1.99]: switch01.booches.local
Organizational unit [Dept Name]: ICT
Organization [Company Name]: Booches
City or location [City]: Bocholtz
State name [State]: Limburg
Country code [US]: NL
switch01(config)# web-management ssl
switch01(config)# no web-management plaintext
Next to using secure protocols, it is preferred to create unique credentials for every administrator. One way to create unique credentials is by configuring RADIUS / TACACS authentication. A common way is you configure RADIUS between the switch and the Active Directory. The following commands can be used to configure RADIUS on HP ProCurve switches.
switch01(config)# radius-server host 10.10.100.1 key <shared key>
switch01(config)# radius-server host 10.10.100.2 key <shared key>
switch01(config)# aaa authentication web login radius local
switch01(config)# aaa authentication web enable radius local
switch01(config)# aaa authentication ssh login radius local
switch01(config)# aaa authentication ssh enable radius local
switch01(config)# aaa authentication login privilege-mode
By default, remote access VPN users aren’t able to manage a Cisco ASA firewall on the inside interface using any kind of management protocol (SSH, telnet, HTTPS).
You can enable remote management by specifying the management-access interface. You can specify the interface via the CLI or via the Cisco Adaptive Security Device Manager (ASDM). Both methods are specified below.
fw01/booches.nl/act# configure terminal
fw01/booches.nl/act(config)# management-access inside
When using the Management Access feature with remote VPN connections (IPSec or SSL VPN) don’t forget to add the VPN pool to the corresponding management access protocols on the interface you specified as management access interface
A lot of customers have different methods for their IP address management. Most of them use some kind of static documentation, like an Excel sheet. In the past I implemented IPplan multiple times. I like this tool, because it dynamically scans multiple IP subnets, using ICMP and/or Nmap. Another advantage of IPplan is its ability to perform hostname lookups.
Often I install IPplan on an active management system, like CactiEZ. The following howto shows the steps to implement IPplan under CactiEZ.
The first step is downloading the appropriate tar.gz file and extract his file in /var/www/html, like shown below.
tar zxvf ipplan-4.92a.tar.gz
Next I change the ownership and permissions of the ipplan directory.
chown –R apache:apache ipplan
chmod –R 750 ipplan
After changing the permissions I create the necessary database for ipplan.
mysql –u root –p
mysql> create database ipplan;
This creates a database called ipplan. Now we need to create a user with the appropriate permissions for the ipplan database.
mysql> GRANT SELECT,INSERT,UPDATE,DELETE on ipplan.* \
-> TO ipplan@localhost IDENTIFIED by ‘password’;
You can change the value ‘password’ to a password you wish. Change the credentials, configured in the previous step, in the file called config.php.
Open a web browser and point it to the installation script in the admin directory (http://ip-address/ipplan/admin/install.php). You will be prompted to create the database schema. The user created above does not have enough permissions to create tables so you will need to either copy the statements into the database, or temporarily change the database password in the config.php file to a database user that has enough rights to do this. You could be asked to enter user credentials for the website. This user credentials can be found in config.php.
I always load the statements by copying the display output from the install.php script into a file (ipplan.sql) and then executing the file using mysql statements.
mysql –u root –p ipplan < ipplan.sql
The basic installation is now complete. We will now go ahead and create a private menu. Open the file config.php and find the section START OF MENU EXTENSION. Change this section into the following to create a private menu.
// private menu extensions to the ipplan menu system
..|Show used area’s|http://<ip address>/ipplan/user/modifyarearange.php?cust=1
..|Show used subnets|http://<ip address>/ipplan/user/treeview.php
..|Create new subnets|http://<ip address>/ipplan/user/createsubnetform.php
..|Edit subnets|http://<ip address>/ipplan/user/modifybaseform.php
The IPplan poller needs to be added to the crontab configuration. The IPplan poller uses a custom file to know which IP addresses the scan. I normally create a .txt file. The following output show the syntax for the .txt file.
I configure the poller to run every day at 9, 12 and 15. You can edit the crontab with the command:
# Crontab for IPplan poller
0 9,12,15 * * * php /var/www/html/ipplan/contrib/ipplan-poller.php -hostnames -c 1 -f /var/www/html/ipplan/4IP-Networks.txt
There is one last step to take. When you manually execute the command above, you will receive the following error message:
Cannot find NMAP!
The last step is to install NMAP and configure its location in config.php. CactiEZ uses yum to install packages. So I use the following command to install nmap.
yum install nmap
Nmap can be found in the directory /usr/bin/. Look for the nmap section in config.php and change the nmap configuration to the following.
The rest of the configuration needs to be done through the web interface. My advise is to configure some user groups and users, before adding subnets to IPplan. You can also change more settings in config.php to match it to your own environment, like the e-mailserver and helpdesk e-mail address.
Sometimes you receive Fatal error: require_once(): Failed opening required ‘../adodb/adodb.inc.php’ message. I resolved this issue by changing line 42 & 43 in ipplan-poller.php from:
This should solve the problem.
I played a little with Cacti today and installed the Plugin Architecture 2.1. While reading some forums a lot of people are talking about the Plugin Management functionality. I looked and searched in my complete Cacti installation, checked all the configurations which can be made, but I couldn’t find anything about Plugin Management.
After some more searching on forums I found how to enable the Plugin Management. When you download the Plugin Architecture ZIP file, the ZIP contains a file called pa.sql. This file needs to be imported into the Cacti database with the following command:
mysql -u root -p cacti < pa.sql
After executing the command you can enable Plugin Management per user under User Management.
I haven’t played a lot with Cacti lately, but my colleague told me about a new plugin. This new plugin in called Realtime and I find it very useful. As you all know, Cacti only polls after a certain amount of minutes. Sometimes it is useful to get real-time bandwidth utilization statistics. In most cases I always use tools like STG or Interface Traffic Indicator (both can be found on the Tools page) to get real-time statistics. The Realtime plugin allows you to get real-time bandwidth utilization statistics through Cacti. You can download the Realtime plugin here, more information can be found at CactiUsers.org.


I have attached a template that I am working on and struggling with "resetting" the animation. I want the user to be able to click the forward button and back buttons to scroll left to right. But once the animation has played, if a hyperlink returns to that slide a second time, the animation doesn't play again, it just displays the end position of the animated object. I have played with auto rewind and reverse, but this happens immediately, not on exit of the slide. I would like to be able to repeat the animation each time that slide is entered.
Perhaps I have my animation of the wrong side of the click? Should the click start the animation rather than be a hyperlink to a new slide? I think I just have a mental block.
Thanks for any advise.


Welcome to PhysicsOverflow! PhysicsOverflow is an open platform for community peer review and graduate-level Physics discussion.
Please help promote PhysicsOverflow ads elsewhere if you like it.
PO is now at the Physics Department of Bielefeld University!
New printer friendly PO pages!
Migration to Bielefeld University was successful!
Please vote for this year's PhysicsOverflow ads!
Please do help out in categorising submissions. Submit a paper to PhysicsOverflow!
... see more
(propose a free ad)
Anyone know some good introductory references on the physics of anyons?
One of the best recent references is the 2008 RMP article by Nayak et al. Non-Abelian Anyons and Topological Quantum Computation
A somewhat less technical reference is An Anyon Primer by Sumathi Rao.
There are many others but these two are good for someone starting out.
Ady Stern, Anyons and the quantum Hall effect - a pedagogical review, arXiv:0711.4697 is a gentle introduction.
In the presence of magnetic field, I like very much the contribution of S. Ouvry in the Séminaires Poincaré.
user contributions licensed under cc by-sa 3.0 with attribution required


Bluehost How To Optimize Your Site 6397
Locating a high-quality inexpensive host provider isn’t simple. Every web site will have various demands from a host. Plus, you have to compare all the features of a holding business, all while searching for the most effective offer possible.
This can be a whole lot to type with, specifically if this is your very first time acquiring hosting, or developing a site.
The majority of hosts will certainly offer extremely economical introductory pricing, just to raise those rates 2 or 3 times greater once your preliminary contact is up. Some hosts will give cost-free incentives when you subscribe, such as a complimentary domain, or a free SSL certification.
While some hosts will certainly be able to supply better performance and high degrees of protection. Bluehost How To Optimize Your Site 6397
Below we dive deep right into the very best affordable host plan there. You’ll learn what core organizing attributes are vital in a host and also exactly how to evaluate your very own organizing needs to make sure that you can pick from among the best economical holding suppliers below.
Disclosure: When you buy a host bundle via web links on this page, we earn some commission. This assists us to maintain this site running. There are no additional prices to you in any way by using our web links. The listed here is of the very best inexpensive webhosting bundles that I’ve personally used as well as examined.
What We Consider To Be Low-cost Web Hosting
When we explain a webhosting plan as being “Cheap” or “Spending plan” what we indicate is hosting that falls into the rate bracket in between $0.80 to $4 each month. Whilst researching inexpensive holding providers for this guide, we checked out over 100 different hosts that fell into that rate array. We then assessed the high quality of their cheapest holding bundle, value for cash as well as customer service.
In this write-up, I’ll be looking at this world-class web site organizing company and stick in as much appropriate details as feasible.
I’ll discuss the attributes, the pricing choices, as well as anything else I can consider that I believe might be of benefit, if you’re determining to sign up to Bluhost and get your websites up and running.
So without more ado, let’s check it out.
Bluehost is one of the largest host firms worldwide, getting both enormous marketing support from the business itself and affiliate online marketers who promote it.
It actually is a massive company, that has been around for a long time, has a large online reputation, and is absolutely one of the leading choices when it involves web hosting (definitely within the top 3, at least in my publication).
However what is it precisely, as well as should you get its services?
Learn More About Bluehost How To Optimize Your Site 6397 Here ->
Today, I will certainly answer all there is you need to know, given that you are a blog writer or an entrepreneur who is trying to find a web host, and also does not know where to start, since it’s a great service for that target market generally.
Let’s envision, you want to host your sites and also make them noticeable. Okay?
You currently have your domain (which is your site destination or URL) now you wish to “transform the lights on”. Bluehost How To Optimize Your Site 6397
You need some hosting…
To complete all of this, and also to make your internet site visible, you need what is called a “server”. A web server is a black box, or device, that saves all your web site information (data such as pictures, texts, videos, links, plugins, and various other information).
Currently, this server, needs to be on regularly and also it needs to be linked to the internet 100% of the time (I’ll be pointing out something called “downtime” in the future).
Additionally, it additionally needs (without getting also expensive and right into information) a file transfer protocol generally referred to as FTP, so it can reveal internet browsers your site in its desired kind.
All these things are either pricey, or call for a high degree of technical ability (or both), to create and keep. As well as you can totally go out there and also find out these things by yourself and also set them up … yet what regarding instead of you purchasing and maintaining one … why not simply “renting hosting” instead?
This is where Bluehost comes in. You rent their servers (called Shared Hosting) and also you introduce a web site utilizing those servers.
Because Bluehost keeps all your documents, the business likewise enables you to set up your web content administration systems (CMS, for short) such as WordPress for you. WordPress is a super prominent CMS … so it simply makes good sense to have that choice readily available (virtually every organizing firm currently has this option too).
Basically, you no more require to set-up a web server and after that incorporate a software application where you can construct your web content, independently. It is currently rolled right into one package.
Is it secure to have Bluehost take care of your web sites?
Well … envision if your server remains in your home. If anything were to happen to it at all, all your files are gone. If something fails with its interior procedures, you require a technician to repair it. If something overheats, or breaks down or gets damaged … that’s no good!
Bluehost takes all these hassles away, and deals with everything technological: Pay your server “lease”, and they will care for whatever. As well as as soon as you purchase the solution, you can then start focusing on adding material to your internet site, or you can put your effort into your advertising and marketing projects.
What Services Do You Receive From Bluehost?
Bluehost provides a myriad of various services, however the primary one is hosting obviously.
The holding itself, is of various kinds incidentally. You can rent out a shared server, have a dedicated web server, or likewise an onlineprivate server.
For the purpose of this Bluehost testimonial, we will concentrate on organizing solutions as well as various other solutions, that a blog writer or an on-line entrepreneur would certainly need, as opposed to go too deep right into the rabbit hole as well as talk about the other services, that are targeted at even more skilled individuals.
- WordPress, WordPress PRO, and also e-Commerce— these hosting solutions are the packages that allow you to hold a website using WordPress and WooCommerce (the latter of which enables you to do shopping). After purchasing any one of these packages, you can start developing your website with WordPress as your CMS.
- Domain name Marketplace— you can likewise get your domain name from Bluehost rather than other domain name registrars. Doing so will certainly make it less complicated to direct your domain name to your host’s name servers, given that you’re utilizing the same market.
- Email— as soon as you have actually bought your domain name, it makes good sense to also obtain an e-mail address connected to it. As a blog owner or online business owner, you must basically never ever utilize a cost-free email service, like Yahoo! or Gmail. An e-mail similar to this makes you look unprofessional. The good news is, Bluehost gives you one free of cost with your domain name.
Bluehost also offers dedicated web servers.
As well as you may be asking …” What is a dedicated server anyhow?”.
Well, things is, the standard webhosting bundles of Bluehost can just a lot website traffic for your internet site, after which you’ll require to update your holding. The factor being is that the common servers, are shared.
What this indicates is that one server can be servicing 2 or even more web sites, at the same time, among which can be yours.
What does this mean for you?
It implies that the solitary server’s resources are shared, and also it is doing multiple jobs at any kind of offered time. When your website starts to strike 100,000 site visits each month, you are mosting likely to require a dedicated server which you can additionally obtain from Bluehost for a minimum of $79.99 per month.
This is not something yous needs to bother with when you’re starting out however you must keep it in mind for certain.
Bluehost Rates: How Much Does It Cost?
In this Bluehost testimonial, I’ll be concentrating my attention primarily on the Bluehost WordPress Hosting plans, considering that it’s the most prominent one, and also likely the one that you’re looking for and that will fit you the best (unless you’re a big brand, company or site).
The three readily available strategies, are as follows:
- Standard Plan– $2.95 monthly/ $7.99 normal rate
- Plus Strategy– $5.45 each month/ $10.99 regular cost
- Choice And Also Plan– $5.45 monthly/ $14.99 routine cost
The first rate you see is the cost you pay upon join, and also the second rate is what the price is, after the initial year of being with the firm.
So generally, Bluehost is going to charge you on an annual basis. And also you can additionally choose the quantity of years you intend to hold your site on them with. Bluehost How To Optimize Your Site 6397
If you select the Standard strategy, you will pay $2.95 x 12 = $35.40 starting today and also by the time you enter your 13th month, you will currently pay $7.99 each month, which is additionally charged each year. If that makes any feeling.
If you are serious about your site, you must 100% get the three-year option. This indicates that for the standard strategy, you will certainly pay $2.95 x 36 months = $106.2.
By the time you strike your 4th year, that is the only time you will pay $7.99 monthly. If you consider it, this technique will certainly save you $120 during three years. It’s very little, but it’s still something.
If you want to obtain more than one internet site (which I extremely recommend, and if you’re significant, you’ll most likely be getting even more eventually in time) you’ll wish to take advantage of the choice plus plan. It’ll enable you to host unrestricted websites.
Learn More About Bluehost How To Optimize Your Site 6397 Here ->
What Does Each Plan Deal?
So, in the case of WordPress hosting strategies (which are similar to the common hosting strategies, however are more geared in the direction of WordPress, which is what we’ll be concentrating on) the attributes are as complies with:
For the Standard strategy, you get:
- One site just
- Safe site by means of SSL certificate
- Optimum of 50GB of storage
- Free domain for a year
- $ 200 marketing credit history
Keep in mind that the domain names are acquired independently from the organizing. You can get a totally free domain with Bluehost here.
For both the Bluehost Plus hosting and Choice Plus, you get the following:
- Unrestricted number of web sites
- Free SSL Certification. Bluehost How To Optimize Your Site 6397
- No storage space or data transfer restriction
- Complimentary domain name for one year
- $ 200 advertising credit score
- 1 Workplace 365 Mailbox that is totally free for 30 days
The Choice Plus strategy has actually an added advantage of Code Guard Basic Back-up, a back-up system where your documents is saved as well as replicated. If any type of crash occurs and your internet site information vanishes, you can restore it to its original form with this attribute.
Notification that although both plans set you back the same, the Selection Strategy then defaults to $14.99 per month, routine price, after the set quantity of years you have actually chosen.
What Are The Perks Of Using Bluehost
So, why choose Bluehost over various other webhosting solutions? There are thousands of webhosting, much of which are resellers, yet Bluehost is one select couple of that have stood the test of time, and it’s probably one of the most well known out there (and for good factors).
Below are the 3 main advantages of selecting Bluehost as your webhosting service provider:
- Web server uptime— your site will not be visible if your host is down; Bluehost has greater than 99% uptime. This is extremely essential when it pertains to Google SEO as well as rankings. The higher the much better.
- Bluehost rate— how your web server action determines how rapid your internet site reveals on a browser; Bluehost is lighting fast, which means you will certainly decrease your bounce rate. Albeit not the most effective when it concerns packing rate it’s still widely crucial to have a quick rate, to make customer experience much better as well as far better your ranking.
- Unlimited storage space— if you get the Plus plan, you need not fret about the number of documents you store such as video clips– your storage space ability is unrestricted. This is actually important, since you’ll probably encounter some storage issues later down the tracks, and also you do not want this to be an inconvenience … ever.
Lastly, consumer support is 24/7, which implies despite where you remain in the globe, you can contact the support group to repair your internet site concerns. Pretty conventional nowadays, but we’re taking this for approved … it’s likewise really essential. Bluehost How To Optimize Your Site 6397
Also, if you’ve gotten a free domain name with them, after that there will be a $15.99 fee that will be subtracted from the amount you initially bought (I envision this is since it sort of takes the “domain name out of the market”, not exactly sure about this, however there most likely is a hard-cost for registering it).
Last but not least, any type of demands after 30 days for a reimbursement … are void (although in all sincerity … they need to possibly be rigorous right here).
So as you see, this isn’t always a “no doubt asked” plan, like with a few of the various other holding options around, so be sure you’re alright with the plans before continuing with the organizing.


You are given a positive integer n. Let's build a graph on vertices 1, 2, ..., n in such a way that there is an edge between vertices u and v if and only if $${ \mathrm { g c d } } ( u, v ) \neq 1$$. Let d(u, v) be the shortest distance between u and v, or 0 if there is no path between them. Compute the sum of values d(u, v) over all 1 ≤ u < v ≤ n.

The gcd (greatest common divisor) of two positive integers is the maximum positive integer that divides both of the integers.


Petr is a detective in Braginsk. Somebody stole a huge amount of money from a bank and Petr is to catch him. Somebody told Petr that some luxurious car moves along the roads without stopping.

Petr knows that it is the robbers who drive the car. The roads in Braginsk are one-directional and each of them connects two intersections. Petr wants to select one intersection such that if the robbers continue to drive the roads indefinitely, they will sooner or later come to that intersection. The initial position of the robbers is unknown. Find such an intersection that fits the requirements.


You want to have a positive impact on our future? You are passionate about creating visions for the future of mobility? You consider yourself a software enthusiast? You want to be part of an innovative team which welcomes new ideas? Start your new adventure at Elektrobit & use your software skills for a better tomorrow!
Elektrobit (EB) is an award-winning and visionary global supplier of embedded and connected software for the automotive industry. In 11 countries around the globe we are working toward a world in which mobility causes zero fatalities, produces low emissions, and transforms your commute into quality time. In our collaboration with our customers, such as Audi, BMW, Volkswagen and many more, we live and breathe our passion for automotive software and for the mobility of tomorrow.
Your SKILLS to impact the world of mobility
- University degree in computer science or a similar field and at least 3 years of professional experience with Unix/Linux system administration and standard tools
- Detailed knowledge in embedded C programming
- Skills in Linux scripting such as Bash, Perl and Python
- Know-how in build-environments (gcc, gdb, bunutils, make)
- Interest for kernel compilation and Arch Linux setup
Your additional SKILLS, which are not mandatory
KEY WORDS FROM OUR DAILY LIFE
- Knowledge of Arch/Gentoo Linux
- Willingness to learn German
Embedded Systems Development, C, C++, Python, Bash, Perl


__file/__directory: Patch for systems without stat(1)
This merge requests patches the stat explorers of the
__directory types to work on systems missing
stat(1) (embedded Linux) or systems other than Alpine Linux using BusyBox stat.
@ander I noticed that your Solaris implementation is quite similar.
I checked the Illumos distributions OpenIndiana, OmniOSCE, DilOS, Tribblix and they use GNU coreutils' stat.
So I'm wondering whether "real" Solaris is different and if one of the other commands or
fallback() could be used instead.


Fax Extension Configuration Reference
The fax service extension configuration mechanism includes the function and callback functions listed in this topic.
If you plan to implement the fax extension configuration mechanism, you must include the appropriate fax extension configuration header in your source code files. If you are programming on Windows XP, you must include FaxExt.h.
Each fax extension DLL must export the following function to implement the fax extension configuration mechanism.
The fax service provides the following callback functions to allow an extension to retrieve and set fax device configuration data, and to receive notifications from the fax service about changes in device configuration data.
The following callback function name is a placeholder for a function defined by the fax extension DLL.
Build date: 5/5/2012


I searched the forums for an answer to this question but didn't really find one that fit my situation. I just bought a 13" MBP for use at school and work. I need to use Visual Studio 2010 for C++ programming and wondered whether it would be best to do so through bootcamp or through Parallels 6. Many of the threads I found said gaming would be better through bootcamp, but I didn't find anything mentioning programming. Would Parallels 6 be an acceptable choice for running Visual Studio, or would I be better off using bootcamp? I don't do any gaming and can run everything on Mac OS except for Visual Studio. I'd prefer using Parallels so I don't have to reboot, but I want to make sure it's going to run smoothly.


Here's a code sample that isn't working because each resource shows an allocation of 700 for each week.
If you switch to a daily scale, it turns out to be 100 each day.
For a weekly scale, we sum the load of each day, that's why it displays 700. Now we could divide this by 7 and display 100. Is this what you are expecting ?


Purpose: Create a head and neck patient database consolidating patient information from across medical record platforms to track patient outcomes, foster future research projects, and aid professional and technical development.
Methods: Consultants, including medical physicists, physicians, and medical software developers, were interviewed to determine what data would be most impactful to aggregate into a source-available cross-platform document-oriented database. This group was responsible for defining the information to be collected, the structure of the data, the collection and storage methods, and the database interface. Only data with clinical or utilization value was defined to reserve database space as well as data entry time. Patient data was collected from three separate medical software interfaces — Epic, Mosaiq, and Pinnacle. All files were converted into JSON format and integrated into a NoSQL relational user model database. All patient information was fully anonymized prior to database insertion. This activity was reviewed by our Institutional Review Board.
Results: A head and neck database was created. Data collection and anonymization was consistent across all patients. The database includes relevant medical history, treatment, and post-treatment data including the relevant simulation and daily image sets. Data abstraction continues to take manual collection for database organizers. This collection could be streamlined to increase data entry.
Conclusion: The organizational structure and intent of a clinical database has been proposed and implemented for HN patients. The next step will be to use machine learning techniques in tandem with this database to predict follow-up complications and track patient outcomes. Potential improvements continue to be evaluated such as increasing the frequency and type of cancers recorded as well as opening access to the database and its construction to multiple centers.


Define a cyclic sequence of size $$$n$$$ as an array $$$s$$$ of length $$$n$$$, in which $$$s_n$$$ is adjacent to $$$s_1$$$.

Muxii has a ring represented by a cyclic sequence $$$a$$$ of size $$$n$$$.

However, the ring itself hates equal adjacent elements. So if two adjacent elements in the sequence are equal at any time, one of them will be erased immediately. The sequence doesn't contain equal adjacent elements initially.

Muxii can perform the following operation until the sequence becomes empty:

- Choose an element in $$$a$$$ and erase it.

For example, if ring is $$$[1, 2, 4, 2, 3, 2]$$$, and Muxii erases element $$$4$$$, then ring would erase one of the elements equal to $$$2$$$, and the ring will become $$$[1, 2, 3, 2]$$$.

Muxii wants to find the maximum number of operations he could perform.

Note that in a ring of size $$$1$$$, its only element isn't considered adjacent to itself (so it's not immediately erased).


I help people with Python questions, and often those people are only casual acquaintances (at Boston Python) or complete strangers (in the #python IRC channel). There’s a common misunderstanding that can crop up in these situations. It has to do with asking why.
While helping, I often ask the asker, “why?” For example, someone will need help with the two Python installations on their laptop. I’ll ask, “Why did you install a second Python?” When I did this the other night, another guy chuckled, because he thought I meant, “You shouldn’t have installed a second Python.”
This is a common reaction. Asking why is perceived as a rebuke. “Why did you XYZ?” is taken to mean, “You dummy, you shouldn’t have XYZed!” But when I ask it, I really do mean, “I want to understand what led you to XYZ.”
English can be difficult that way, especially over a purely textual, cue-less medium like IRC. One way to soften the apparent bluntness is to add more words. For example, instead of:
Why did you install another Python?
this might go over better:
Do you mind if I ask you why you installed another Python? Understanding the reason might provide an important clue.
So if I ask you why, don’t take it personally. I really do want to know the reason for something. If I want to chide you for making a mistake, I’ll say something like, “You shouldn’t have XYZed,” or, “I don’t think it was a good idea to XYZ.”
Sometimes even when people understand I’m looking for reasons, they bristle at the question. They insist the reasons aren’t important, and why can’t I just answer a simple question?
I ask because 75% of the time, my answer changes once I know the bigger picture. It’s common for people to start with a problem, and work towards a solution, and get stuck. Then they ask about the thing they are stuck on. That’s natural. But it’s also common that the reason they are stuck is there was a better path to start down in the first place. Understanding the reasons can help find that better path.
Asking why can help find those earlier choices, and lay out the entire problem. Having all the information means we can work together to find the best solution.
If I ask you to explain the larger problem, don’t take it personally. Solving complex problems is hard, and it’s easy to choose a first step that makes the second step more difficult than it needs to be. When a helper asks about the bigger picture, they aren’t trying to make you look silly, they’re trying to help you find the best solution.
This phenomenon has a name: the XY problem. You have problem X, you choose solution Y, and when it doesn’t work, you ask about Y instead of asking about X. Despite some people’s disdain for this dynamic, it’s very common and people shouldn’t be put down for it. Sometimes the asker can’t see that there were alternatives earlier on. Sometimes the asker is trying to not take up too much of the helper’s time by asking a focused question. Whatever the reason, it happens all the time, and helpers should get out of the helping business if XY problems make them mad.
Askers: if someone asks you why, or says you have an “XY problem,” that means they are trying to help you find the best solution. Don’t feel bad. We’re all struggling together to learn and overcome complexity.
You could make your article even better by including an example of a solution that was helped by the answer to the why-question.
Problem solving 101: Try to solve their real problem, not the sub-problem at hand.
Then again, I hardly ever have the problem someone takes it the wrong way if you just ask why in a non-condescending way, interesting you had that so often...
I am going to include this in my required reading list
Add a comment:


The Sony Xperia Pro-I isn’t the initial phone to have a one-inch video camera sensing unit. It is the very first to place the one-inch sensing unit from the preferred Sony RX100 VII electronic camera right into a phone.
Sign up for CNET: https://www.youtube.com/user/CNETTV.
Like us on Facebook: https://www.facebook.com/cnet.
Follow us on Twitter: https://www.twitter.com/cnet.
Follow us on Instagram: http://bit.ly/2icCYYm.
Follow us on TikTok: https://vm.tiktok.com/ZMd2h6yac/.
You can see Sony Xperia Pro-I below.
* CNET might obtain a payment from these deals.


Uploaded on Jun 12, 2011
sorry about rubbish recording
songs - linkin park - wretches and kings Dr Dre - Kush
first you need:
USB EXPLORER - http://www.megaupload.com/?d=Q80BS439 just wait the 45 seconds
HORIZON - http://www.xboxmb.com/horizon/ go "download now"
on your X Box go to your Hard drive move the borderlands save game onto your flash drive (flash drive must be formatted)
then go bakk to comp
once on open up USB Explorer
keep clicking the files untill you get to
then you want to extract it to your desktop
then open up "HORIZON" then go:
then open the file you extracted to your desktop
now click max on everything (level, XP, skill, money)
dont mess with settings or values
make sure at the bottom right back up and safe mode are on!!!!!
then go save. it creates a backup file thats incase it screws up but use the shorter one.
go back to USB explorer
delete your previous save and drag and drop your modded one in
then close USB explorer
you MUST safely remove your flash drive
then go back to X Box
now do the exact same but opposite so move the account from your flsh drive onto your hard drive then just load the game up and start a single player and
BAM YOU'VE DONE IT!!!!
comment, rate and subscribe
Standard YouTube License


There are a number of sections under the biography part of an ORCID record:
Also known as: This can include an abbreviated first name, variants including initials for one or more first names, middle name(s), former or alternate name(s), or name(s) in a different character set. Each name should be added as a single item. This is a free text field up to 255 characters.
Websites: This section includes a description (optional) and a website URL (required)
Country: The Country section of an ORCID record allows researchers and member organizations to add one or more countries where they conduct research, or that are the topic of their research. The items in the country list are sourced from ISO 3166, the international standard for country and region codes.
External identifiers (Other IDs): This section can only be added by member organizations. Please note that, although many organizations collect other external identifiers for their researchers, e.g. Scopus Author IDs, only the issuer of those identifiers can assert them authoritatively. We therefore strongly recommend that your organization only adds identifiers which your system(s) created and uses to identify researchers. This section includes four components (* indicates a required field):
- ID type*
- ID value*
- ID relationship*
- ID URL


I just wana know if someone might have an idea of how I can go about doing this:
So attached I have a little example I whiped up. Say you have 3 buttons, button1, button2, button3. What I wana do, is when you click button1, it will magicly turn into another button called button4.
Is this possible? How? What would I put in my button1's actionPerformed to create and display button4 in button1s place?
You want that other "Button 4" to have a different functionality or simply change its label.
For changing label use the set methods of the JButton class API.
For changing the button, you can try to look at the API of JButton, if it has a setVisible method.
You can have both buttons placed at that location but one would be hidden. When you click the "1" you can hide that and make the "4" visible.
Like I said in order for that to work you need to look at the API. I am not sure if it can be done
How to connect device scanner with visual basic, its analogy I made button scan in vb and typing button scan in press scanner live and walk .. how? Help ...
I have the following problem.
when i pres buttun printpreview (button 5) the the print preview fires up.
and when i close the print preview without printing and minimize the ...
Hi all! I need help understanding what my teacher expects from this project.
Here is the link to the instructions for the project: http://cs.ecu.edu/~karl/2530/spr18/Assn/Assn5/assn5.html
I wrote a little bit of ...


21 December 2018
I recently purchased a Pixelbook while over in the US, and I've slowly been exploring it's capabilities. I really like it as a travelling device, and I've naturally been curious about what you can set up. VSCode, Signal and other apps all seem to work in the Linux sandbox environment, and it turns out that Burp Suite does as well. Assuming you have the linux environment installed, adding Burp Suite is reasonably straight-forward.


Alice and Bob are playing a game. There are $$$n$$$ balls, out of which $$$k$$$ are special. Each ball has a value associated with it.

The players play turn by turn. In each turn, the player randomly picks a ball and adds the value of the ball to their score, which is $$$0$$$ at the beginning of the game. The selected ball is removed from the game. If the ball was special, the same player takes the next turn if at least one ball is remaining. If the ball picked was not special, the next player plays their turn.

They play this game until no balls are remaining in the game. Alice plays first.

Find the expected score that both the players have at the end of the game modulo $$$10^9+7$$$.

Formally, let $$$M = 10^9+7$$$. It can be shown that the answer can be expressed as an irreducible fraction $$$\frac{p}{q}$$$, where $$$p$$$ and $$$q$$$ are integers and $$$q \not \equiv 0 \pmod{M}$$$. Output the integer equal to $$$p \cdot q^{-1} \bmod M$$$. In other words, output such an integer $$$x$$$ that $$$0 \le x < M$$$ and $$$x \cdot q \equiv p \pmod{M}$$$.


Monocarp and Bicarp are playing a card game. Each card has two parameters: an attack value and a defence value. A card $$$s$$$ beats another card $$$t$$$ if the attack of $$$s$$$ is strictly greater than the defence of $$$t$$$.

Monocarp has $$$n$$$ cards, the $$$i$$$-th of them has an attack value of $$$\mathit{ax}_i$$$ and a defence value of $$$\mathit{ay}_i$$$. Bicarp has $$$m$$$ cards, the $$$j$$$-th of them has an attack value of $$$\mathit{bx}_j$$$ and a defence value of $$$\mathit{by}_j$$$.

On the first move, Monocarp chooses one of his cards and plays it. Bicarp has to respond with his own card that beats that card. After that, Monocarp has to respond with a card that beats Bicarp's card. After that, it's Bicarp's turn, and so forth.

After a card is beaten, it returns to the hand of the player who played it. It implies that each player always has the same set of cards to play as at the start of the game. The game ends when the current player has no cards that beat the card which their opponent just played, and the current player loses.

If the game lasts for $$$100^{500}$$$ moves, it's declared a draw.

Both Monocarp and Bicarp play optimally. That is, if a player has a winning strategy regardless of his opponent's moves, he plays for a win. Otherwise, if he has a drawing strategy, he plays for a draw.

You are asked to calculate three values:

- the number of Monocarp's starting moves that result in a win for Monocarp;
- the number of Monocarp's starting moves that result in a draw;
- the number of Monocarp's starting moves that result in a win for Bicarp.


#ifndef JOB_STATE_DELEGATE_H_INCLUDED
#define JOB_STATE_DELEGATE_H_INCLUDED

#include "../../../common-src/settings/settings_definitions_core.h"

#include <QStyledItemDelegate>

class JobStateDelegate : public QStyledItemDelegate
{
    Q_OBJECT

public:

    JobStateDelegate(QObject *a_pParent = nullptr);
    virtual ~JobStateDelegate();

    virtual void paint(QPainter *a_pPainter,
                       const QStyleOptionViewItem &a_option,
                       const QModelIndex &a_index) const override;

protected:
    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &a_index) const override;

    virtual QColor jobStateColor(JobState a_state,
                                 const QStyleOptionViewItem &a_option) const;
};

#endif // JOB_STATE_DELEGATE_H_INCLUDED


PwC has developed a new tool which facilitates the process of applying for a refund of fixed costs. The Excel template can help your company to easily:
- Calculate fixed costs and turnover for the period December 2019 to February 2020 and the period April 2019 to June 2019, respectively.
- Document expectations of fixed costs and turnover in the period 9 March 2020 – 8 June 2020.
In this video guide we walk you through the Excel template and we show you which numbers go where.
The Excel template is available here: https://www.pwc.dk/da/artikler/2020/04/fa-hjaelp-til-nemt-at-soge-refusion-for-faste-omkostninger.html
PwC - Revision. Skat. Rådgivning
Succes skaber man sammen med andre...
Besøg os på: https://www.pwc.dk/


Erik Champion, author of Critical Gaming: Interactive History and Virtual Heritage gave the first guest lecture for the 3DH project. Erik was originally an architect who now works in interactive history and digital culture. He has led a number of projects that adapt game engines for cultural heritage. He gave us a great tour of various 3D examples to encourage us to think of games and virtual spaces as visualization.
Erik started his talk by commenting on how the ocular (sight) dominates how we know and explore. For Erik visualization goes way back and used to be connected to the acoustic and to architecture. You didn’t have visualizations detached from a space and without a soundscape.
He then talked about how games are not just about knowing visually, but also about knowing through the game-mechanics or the interaction. He gave the game September 12th: A Toy World as an example where the game mechanics are part of the way meaning is made.
He then argued that a data visualization can be different types of things for knowing or learning:
- A game that changes your ideas
- A presentation of visual uncertainty where people argue about reconstruction
- A “reading” diagram and data
He commented on how people tend to believe vizualizations. They have rhetorical power and can therefore be a way of presenting things to broader audiences. He also talked about how for many people the word “game” makese more sense than “visualization.” You tell people you have game for them to learn from and they know what to do.
He talked about what are the concerns of non-text? In his book on Critical Gaming he has an opening chapter on “The Digital Humanities and the Limit of Text.” Champion wants to go beyond text with visualization and games, not just use visualization as a way of exploring text. Some of the issues and ideas he mentioned included:
- Preservation of Digital Heritage. Erik’s work focuses a lot on developing virtual spaces for communicating about heritage or for letting people negotiate heritage. One of the major problems of this field is that virtual heritage projects tend to disappear and disappear faster than the actual project. There are no good standards for 3D data. He drew our attention to the UNESCO Charter on the Preservation of Digital Heritage which is well meaning, but doesn’t seem to be having any effect.
- Infrastructure. A related problem is the infrastructure for non-textual digital work. We have a significant amount of textual infrastructure that we take for granted (think libraries and archives), but less visual. How is visualization supported and by who? PublicVR seems to be one organization trying to make 3D heritage available to schools.
- Process not Product. Fields like archaeology are a process not a product. The field cannot be communicated by texts. We need to think of how the digital can communicate process, collaboration and reflection and games could play a role in this. He mentioned Elegy for a Dead World as an example. It is a game where you write about the dead world you are exploring.
- Counterfactual History. How can we use simulations and games to explore “what if” scenarios. This is a way of knowing too. He mentioned Muzzy Lane Software who, for example, developed Making History.
- Pointing in 3D. How do we point in 3D worlds. Erik has a project where they have created avatars that point for you.
Champion showed a number of really interesting projects that we need to look at like Paper Machines (a Zotero text analysis tool) and Dead Men’s Eyes. Near the end he talked about Artificial Intelligence and how we can learn about AI in games. His idea is for people to play NPC’s and get the AI to figure out who they are – a reverse Turing game.


Thank you for the feedbacks
Thank you everyone for sending their ideas on how to improve the site.
We have modified the front page already so access to latest daily comments gets easier.
A few more markets will be added to the daily cheatsheet section.
And we are testing ways to auto post the pre-market summary so that everyone can find the information quickly every morning.
One of the suggestions is to allow subscribers to upload their chart images, that is a bit more complicated and I have someone working on that now.


|WARNING: Driving while distracted can result in loss of vehicle control, crash and injury. We strongly recommend that you use extreme caution when using any device that may take your focus off the road. Your primary responsibility is the safe operation of your vehicle. We recommend against the use of any hand-held device while driving and encourage the use of voice-operated systems when possible. Make sure you are aware of all applicable local laws that may affect the use of electronic devices while driving.|
|APower: Press to switch the system on and off.|
BSOURCE: Press to access different audio modes, such as AM, FM and Media.
CSeek, Fast Forward and Reverse: In radio mode, select a frequency band and press this button. The system stops at the first station it finds in that direction. In Media mode, press to select the previous or next track. Press and hold to move quickly forward or backward through the current track.
DTUNE: Press to search through the radio frequency band. The system stops at the first station it finds in that direction.
EVolume: Turn to adjust the volume.
FSOUND: Press to access settings for Treble, Middle, Bass, Balance or Fade.
GEject: Press to eject a CD.


For the last 20 years, we have celebrated GIS day along with Esri. It is a great opportunity to get people who haven’t used GIS or mapping before in your office to have a look at what you do and maybe share a map cake (Note: It is traditional for GIS professionals to make a GIS-themed cake for the event; this year produced some awesome entries.
So, you know how Star Wars day is on May 4th, and then the next day is the “Revenge of the 5th”? Well, the day after GIS Day is always PostGIS Day—get it? On this day the technology underpinning many of the geospatial systems in the world is celebrated, although there isn’t as much cake (although one should point out that pi(e) would be better).
On PostGIS day, events are held around the world by OSGeo, the Open Source Geospatial Foundation, and these events are great to attend as a user or non-user. Just as GIS day is about opening your door and showing people what you do, PostGIS day is the same in that those who use it discuss and show how to get using it and how to use it better. If you are lucky enough to be in downtown St. Louis, then you will have the opportunity to hear from the father of PostGIS, Paul Ramsey, and hear how you can quickly and easily get up and running.
Why PostGIS? Simply, shapefiles and geojson files thrown into a shared folder isn’t a good way to work. Also, it is a database that stores geometries so you can interact with it directly without needing a GIS. Those of you familiar with the older Esri server systems will be familiar with Oracle. Well PostGIS (an extension to enable geospatial data in PostGRES) is a little bit like Oracle but with super-powers. It has many features you will not find on any other geospatial database system and is now the default database format for Esri server systems. QGIS and even companies like Carto use it for their infrastructure. If you can use a geodatabase or use Excel to create formulas, then you can easily start doing awesomeness with PostGIS.
So, happy PostGIS day! Now go and see where your nearest event is and see what it can do for you!


Splitting results pages, but ordering by date...?
by David Richardson
July 9, 2002 05:24
I've been using the method of browsing a database by splitting pages according to the last ID number (as per the examples). I've been ordering by the date of the record which has been working fine. *HOWEVER*, I've got a user who needs to enter data in retrospectively and the listing no longer works.
The only thing I can come up with is to export the database and then re-import it in date order so that the ID numbers are in the same order as the date. This is rather long-winded, and won't prevent the problem from happening again. So, has anyone got any ideas on how to do this?
Apologies to all for my Roger-esque quiet of late - I've been kind of drowning in a sea of work lately. I'll be getting onto the user discussion forums soon, for those of you who are interested. :-)
Name E-mail optional TopicMessage:
HTTP Link: Link text:


Goodbye DayOne - it's been fun.
DayOne has been great
I've been using the DayOne journaling app since 2012 (my first post). It's a great piece of software with lots of features and a clean design. The syncing works well between my mac & my iPhone too.
Well, I've been spending more and more time journaling and writing blog posts in vim lately. I've got vim set up exactly the way I like it with many macros and bash aliases setup to streamline the entire process. Not to mention how much easier it makes editing and navigating documents. So it's getting harder and harder to justify the yearly subscription cost (~$55.00pa) for DayOne when I'm using and enjoying vim so much more - and for free.
I've exported all of my posts out of DayOne a (2.6mb text file) with very little formatting.
So now I have to figure out how I'm going to format it nicely to match the rest of my journal.md file I've been writing in lately. The markdown format is much nicer to work with and if I ever decide to make these things public then it's easy enough to post them to my blog.
- Darren Inglis


I'm still alive. We're going through our fiscal year-end at work. I've been spending a few hours at the office. Almost 15 hours yesterday. (Yes, I most certainly AM asking for sympathy ... humor me, please).
I feel like I'm living, eating and sleeping with my job lately. So, I thought this was funny:
An accountant is having a hard time sleeping and goes to see his doctor. "Doctor, I just can't get to sleep at night."
"Have you tried counting sheep?"
"That's the problem - I make a mistake and then spend three hours trying to find it."
I'll post something soon. Don't forget I'm here ...


I've been working on icon optimization, so you can look forward to updated paths, no more glitches and improved export to SVG. In addition, I have added 24 new icons with the loudly demanded Actions and Real Estate collections. You can download them here. :-)
Now, I am developing a brand new creative set,
that will soon be available for you to buy and I would like to offer you the opportunity to support the development through an early-bird donation. You can contribute any amount you like to get a 20% discount on all my other products.
I would like to thank you for all your feedback, which is constantly helping me to work not only on improvements but also helping me to develop new stuff. And I promise that what’s coming is really exciting!
See you next time! :-)


My name is Topher Wilson, I’m a full-stack developer & consultant. I help lots of great people make lots of awesome things. I also write now and then, and dabble in indie dev.
I help small businesses and startups build out their products & offerings quickly and on budget. I’ve been building sites, apps, tools and services for over 15 years. In 2019 it’s not enough to be able to build a thing – that’s the beginning; my value is providing both development and operational expertise.
If you’d like to chat shoot me an email – it doesn’t just have to be about work, just saying “hi!” can be cool too.
My Products & Projects
CinchPress is the fastest way to start blogging on WordPress. Upload, then post. That's it.
The zero-code & zero-hassle way to add forms to your website. Just set the POST value to your form location, and you're all set.
SaaS Crew is a semi-structured community, centered around building new SaaS and digital products. In SaaS Crew we build together, learn together, and succeed together.
The SaaS Email kit includes all the transaction emails you'll need to get your SaaS off the ground and nuture your users.
CinchPress is the fastest way to start blogging on WordPress. Upload, then post. That’s it. At just 72KB, CinchPress is light weight, fast, and incredibly simple to use. There is nothing to delete and nothing that needs configuring before you can start posting. Your site will be ready for visitors as soon as you upload.
I’m doing a new thing. Starting today I’ll be using my spare time to build a complete SaaS application, from start to selling, in just four weeks. I’m calling it the Four Week Saas The thing we’ll be building is FormCaster, a zero-code form processing solution for static sites. Hugo Jekyll, etc have become […]


We use an ancient version of Northstar thats been heavily modified to
give ties in to our billing system for traffic accounting, etc. This
is used for IPv4. This happily takes care of various /19's and /21's.
NS has no IPv6 support nor is it likely to in the future.
I've just started using the latest beta of IPPlan for IPv6. It didn't
have a good way to nicely display IPv6 allocations so I wrote some PHP
to display this in a nice manner from the DB. Seems to work nicely for
Both are free and open source.
On Thu, Dec 16, 2010 at 10:36 AM, John Russell <jsr(a)jsr.com> wrote:
So, I'm looking at this ipv6 assignment from the
good folks at APNIC, and I'm also looking at my current, aging, not-very-scalable IP
Management system, and I'm not liking where I see this going.
I'm interested to hear NZNOGs suggestions about decent, scalable, software
(preferably off-the-shelf) to handle v4 and v6 IP management. Open source stuff welcome,
though commercial, supported software is also fine.
I'm just wondering what you cool kids are using to manage their address space these
Feedback, thoughts and opinions welcome.


Polycarp is a big lover of killing time in social networks. A page with a chatlist in his favourite network is made so that when a message is sent to some friend, his friend's chat rises to the very top of the page. The relative order of the other chats doesn't change. If there was no chat with this friend before, then a new chat is simply inserted to the top of the list.

Assuming that the chat list is initially empty, given the sequence of Polycaprus' messages make a list of chats after all of his messages are processed. Assume that no friend wrote any message to Polycarpus.


#include <ctype.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "monocypher.h"
#include "platform.h"

#define PROG           "monocrypt"
#define MAXPASS        128
/* CHUNKLEN, NB_BLOCKS, and NB_ITERATIONS affect file format */
#define CHUNKLEN       ((1L << 26) - 16)
#define NB_BLOCKS      (1L << 18)
#define NB_ITERATIONS  3

/* prealloated buffers */
static union {
    uint8_t chunk[CHUNKLEN+16];
    uint64_t work_area[NB_BLOCKS*1024/sizeof(uint64_t)];
} buf;

enum error {ERR_OK, ERR_ENT, ERR_READ, ERR_WRITE, ERR_TRUNC, ERR_INVALID};
static const char *errmsg[] = {
    [ERR_ENT] = "failed to gather entropy",
    [ERR_READ] = "input error",
    [ERR_WRITE] = "output error",
    [ERR_TRUNC] = "input is truncated",
    [ERR_INVALID] = "wrong password / bad input",
};

static void
increment(uint8_t nonce[24])
{
    for (int i = 0; i < 24; i++) {
        if (++nonce[i]) {
            break;
        }
    }
}

static enum error
fencrypt(FILE *in, FILE *out, uint8_t *password, int pwlen)
{
    uint8_t key[32];
    uint8_t nonce[24];
    enum error err = ERR_OK;

    if (fillrand(nonce, sizeof(nonce))) {
        return ERR_ENT;
    }

    /* first 24 bytes of the file is the nonce */
    if (!fwrite(nonce, sizeof(nonce), 1, out)) {
        return ERR_WRITE;
    }

    crypto_argon2i(
        key, sizeof(key),
        buf.work_area, NB_BLOCKS, NB_ITERATIONS,
        password, pwlen,
        nonce, sizeof(nonce)
    );
    crypto_wipe(password, MAXPASS);

    for (;; increment(nonce)) {
        size_t n = fread(buf.chunk, 1, CHUNKLEN, in);
        if (!n && ferror(in)) {
            err = ERR_READ;
            break;
        }
        /* note: zero-length chunk is fine */

        uint8_t *mac = buf.chunk + n;
        crypto_lock(mac, buf.chunk, key, nonce, buf.chunk, n);
        if (!fwrite(buf.chunk, n+16, 1, out)) {
            err = ERR_WRITE;
            break;
        }

        /* short chunk indicates end of input */
        if (n < CHUNKLEN) {
            err = fflush(out) ? ERR_WRITE : ERR_OK;
            break;
        }
    }

    crypto_wipe(key, sizeof(key));
    return err;
}

static enum error
fdecrypt(FILE *in, FILE *out, uint8_t *password, int pwlen)
{
    uint8_t key[32];
    uint8_t nonce[24];
    enum error err = ERR_OK;

    /* first 24 bytes of the file is the IV */
    if (!fread(nonce, sizeof(nonce), 1, in)) {
        return ferror(in) ? ERR_READ : ERR_TRUNC;
    }

    crypto_argon2i(
        key, sizeof(key),
        buf.work_area, NB_BLOCKS, NB_ITERATIONS,
        password, pwlen,
        nonce, sizeof(nonce)
    );
    crypto_wipe(password, MAXPASS);

    for (;; increment(nonce)) {
        size_t n = fread(buf.chunk, 1, sizeof(buf.chunk), in);
        if (!n && ferror(in)) {
            err = ERR_READ;
            break;
        }
        if (n < 16) {
            err = ERR_TRUNC;
            break;
        }
        n -= 16; /* chop off MAC */

        uint8_t *mac = buf.chunk + n;
        if (crypto_unlock(buf.chunk, key, nonce, mac, buf.chunk, n)) {
            err = ERR_INVALID;
            break;
        }
        if (n && !fwrite(buf.chunk, n, 1, out)) {
            err = ERR_WRITE;
            break;
        }

        /* short chunk indicates end of input */
        if (n < CHUNKLEN) {
            err = fflush(out) ? ERR_WRITE : ERR_OK;
            break;
        }
    }

    crypto_wipe(key, sizeof(key));
    return err;
}

static int xoptind = 1;
static int xopterr = 1;
static int xoptopt;
static char *xoptarg;

static int
xgetopt(int argc, char * const argv[], const char *optstring)
{
    static int optpos = 1;
    const char *arg;
    (void)argc;

    /* reset? */
    if (xoptind == 0) {
        xoptind = 1;
        optpos = 1;
    }

    arg = argv[xoptind];
    if (arg && strcmp(arg, "--") == 0) {
        xoptind++;
        return -1;
    } else if (!arg || arg[0] != '-' || !isalnum(arg[1])) {
        return -1;
    } else {
        const char *opt = strchr(optstring, arg[optpos]);
        xoptopt = arg[optpos];
        if (!opt) {
            if (xopterr && *optstring != ':')
                fprintf(stderr, "%s: illegal option: %c\n", argv[0], xoptopt);
            return '?';
        } else if (opt[1] == ':') {
            if (arg[optpos + 1]) {
                xoptarg = (char *)arg + optpos + 1;
                xoptind++;
                optpos = 1;
                return xoptopt;
            } else if (argv[xoptind + 1]) {
                xoptarg = (char *)argv[xoptind + 1];
                xoptind += 2;
                optpos = 1;
                return xoptopt;
            } else {
                if (xopterr && *optstring != ':')
                    fprintf(stderr, "%s: option requires an argument: %c\n",
                            argv[0], xoptopt);
                return *optstring == ':' ? ':' : '?';
            }
        } else {
            if (!arg[++optpos]) {
                xoptind++;
                optpos = 1;
            }
            return xoptopt;
        }
    }
}

static void
usage(FILE *f)
{
    fputs("usage: " PROG " <-E|-D> [-h] [-o FILE] [-p PASSWORD] [FILE]\n", f);
}

int
main(int argc, char *argv[])
{
    enum {MODE_NONE, MODE_ENCRYPT, MODE_DECRYPT} mode = MODE_NONE;
    const char *outfile = 0;
    const char *infile = 0;
    uint8_t password[MAXPASS];
    int pwlen = 0;
    enum error err;

    int option;
    while ((option = xgetopt(argc, argv, "DEho:p:")) != -1) {
        switch (option) {
        case 'D': mode = MODE_DECRYPT; break;
        case 'E': mode = MODE_ENCRYPT; break;
        case 'h': usage(stdout); return 0;
        case 'o': outfile = xoptarg; break;
        case 'p': {
            size_t len = strlen(xoptarg) + 1;
            if (len > MAXPASS) {
                fprintf(
                    stderr, PROG ": password must be < %d bytes\n", MAXPASS
                );
                return 1;
            }
            pwlen = len;
            memcpy(password, xoptarg, len);
        } break;
        default: usage(stderr); return 1;
        }
    }

    binary_stdio();

    if (mode == MODE_NONE) {
        usage(stderr);
        return 1;
    }

    if (!pwlen) {
        int r0 = read_password(password, sizeof(password), "password: ");
        if (r0 == 0) {
            fputs(PROG ": failed to read password\n", stderr);
            return 1;
        }
        if (r0 < 0) {
            fprintf(stderr, PROG ": password must be < %d bytes\n", MAXPASS);
            return 1;
        }
        if (mode == MODE_ENCRYPT) {
            uint8_t tmp[MAXPASS];
            int r1 = read_password(tmp, sizeof(tmp), "password (repeat): ");
            if (r1 == 0) {
                fputs(PROG ": failed to read password\n", stderr);
                return 1;
            }
            if (r0 != r1 || memcmp(password, tmp, r0)) {
                fputs(PROG ": passwords don't match\n", stderr);
                return 1;
            }
            crypto_wipe(tmp, sizeof(tmp));
        }
        pwlen = r0;
    }

    if (argv[xoptind] && argv[xoptind+1]) {
        usage(stderr);
        return 1;
    }
    infile = argv[xoptind];

    FILE *in = !infile || !strcmp(infile, "-") ? stdin : fopen(infile, "rb");
    if (!in) {
        fprintf(stderr, PROG ": could not open input file: %s\n", infile);
        return 1;
    }
    FILE *out = !outfile ? stdout : fopen(outfile, "wb");
    if (!out) {
        fprintf(stderr, PROG ": could not open output file: %s\n", outfile);
        return 1;
    }

    switch (mode) {
    case MODE_ENCRYPT: err = fencrypt(in, out, password, pwlen); break;
    case MODE_DECRYPT: err = fdecrypt(in, out, password, pwlen); break;
    default: return 1;
    }
    if (outfile) {
        if (fclose(out) && err == ERR_OK) {
            err = ERR_WRITE;
        }
    }
    if (infile) {
        fclose(in);
    }

    if (err) {
        fprintf(stderr, PROG ": %s\n", errmsg[err]);
        if (outfile) {
            remove(outfile);
        }
        return 1;
    }
    return 0;
}


I should say thanks to Nick for having posted yesterday some pictures of Sigma-Aldrich packaging madness. Packaging has a cost and an effect on environment, however, as Nick correctly points, some chemicals shipped by Sigma are dangerous and this might justify some excessive packaging.
This morning I received some chemically-inert stainless steel beads that I'm using to extract RNA with the Tissuelyser, my preferred method. My bench-mate Shawon received some too. Despite we are from the same lab, from the same address, and from the same center of cost, Qiagen sent us two different parcels, therefore doubling the shipping and handling taxes, and doubling CO2 emissions.
The picture shows the amount of stuff required to send 400 x 5mm stainless beads (in the small plastic bag). Our lab paid 352 dollars (subtotal) plus 41 dollars (shipping and handling). This packaging, which costs me 10% of my research budget, offends me every time I make an order, so I've been looking for alternatives. After some common sense thinking, my conclusion is that these are not complex chemicals, but simply inox beads with a diameter of 5 millimeters, nothing more than bearing balls. Next time, saving 60% of my budget, I could get 400 stainless steel bearing balls for 160 dollars.


I installed and configured DDNS with DuckDNS, but the ping is not successfull, all packages are lost, with ping test over the internet. What's wrong?
Does the host/target allow pinging?
Compare these three things:
- Google "what's my IP"
- the result of nslookup < your ddns domain name >
- the IP address that is reported in the main status screen under "IPv4 upstream"
Do all three match?
Yes they match
Ok... that was the first thing -- making sure that you have a true public IP and that everything is resolving properly.
beyond ping, what is your goal? Are you port forwarding?
Where can I verify this?
What do you mean with resolving and true public IP?
My goal is to make homenetwork to which I can connect from outside, I think this would need port forwarding.
resolving = DNS resolution. This is the process of looking up a domain name (i.e. openwrt.org) and returning an IP address (126.96.36.199)
true public IP = publicly routable IP address. Not all ISP's provide addresses that can be reached from the internet in general. This is called CG-NAT (carrier grade network address translation), and it allows the ISP to maintain fewer public IPs (IPv4 addresses are limited) while still giving internet access. The same thing happens on your router -- everything behind your router is NAT'd and the internal network uses RFC1918 private IP addresses that cannot be reached on the internet.
I would recommend using a VPN instead of port forwarding. It is much more secure and gives a better level of access without compromising the integrity of your network. Wireguard is a good option here.
Frist thanks for the fast respons and explanation.
I first need to study this deeper what you explained. My openwrt router is behind my main router, my this causes something.
I will answere later on your questions and explanation after i gathered more information. Dont known if I can do it today.
This may be the reason you cannot ping -- your upstream router may block pings.
Are you sure? If your OpenWrt router is behind another router, that would suggest that the IPv4 upstream would be an RFC1918 private address, not a public IP address. The Google test should return the apparent public IP.... but we need to know if that IP address is really yours uniquely or if you have a CG-NAT situation.
In that case, you would need to forward within the main router. If you're offering a service from the OpenWrt router forward the port to that IP. Usually pings from the Internet would be answered by the main router-- this is OpenWrt's default when used as a main router and there is no harm in answering pings.
When OpenWrt is behind another router, this will not be a public IP, but an IP on the main router's LAN.
Precisely... except if the upstream device is not a router (maybe a simple modem, or modem+router in bridge mode).
@Sundhto -- since your OpenWrt router is apparently behind another device, we need to check both the OpenWrt address to confirm if it is an RFC1918 address, and the main router to see if it has a public IP or a CG-NAT address.
Please look at the OpenWrt router's main status page and find the IPv4 upstream section... what does that show for the address (just post the first two octets in bold: aaa.bbb.ccc.ddd)?
Yes my main router was blocking the ping, found that option. Disabled it, but still the ping isnt coming through.
It showing a 46. .. IP, I dont know if its a CG-Nat situation. How can i check this. But when i ping my DNS Adress, it shows me the right IP next to it.
Yes I want to let it run over wireguard, I want wireguard + DDNS. So i can connect to my Homenetwork from outside and I am using DuckDNS.
Can anybody refer me a tutorial for this topic. Musst be a lot out there, but it seems to me like googles search engine is becoming worse and worse.
Well, since the main router is the thing that interfaces with the public IP, it is the one that will be responsible for responding to pings. If it is not, that means:
- the setting on your router didn't actually affect the change -- maybe it didn't save, maybe it doesn't actually work the way it should
- If you're testing from within the network, the router may not allow responses in a hairpin/loopback mode. Test from outside in this case
- your ISP (or the router) may block ping responses from the connected equipment.
That said, ping is a very useful tool, but it is not the be-all-end-all of connectivity tests.
This should be no problem (at least in theory... hopefully your ISP and/or main router doens't cause problems here). WG is a great option.


BI Consultant - Home Based - Up to £55,000
A Microsoft Gold Partnered client of mine who are a small business intelligence consultancy based in London, continue to hire new BI Consultants from continued growth with zero furloughed staff during lockdown.
Despite their office in London, they have staff all over the country and rarely visit the office. As it stands right now, everyone is working fully remotely.
They're an SME, but they've already achieved Microsoft Gold Partner status..
The primary focus for them is the delivery of data driven solutions for their clients utilising the Microsoft BI stack, both on-premise and on the Azure platform projects. They also do a lot of work with Power BI as their visualisation tool of choice given they're a Microsoft partner.
You will work on projects end-to-end as BI Consultants are involved in every stage of the project life cycle
They are really big on training and development and encourage upskilling putting staff through your certifications quickly. They want someone who's keen to keep learning.
Experience you'll need:
- Full BI SQL stack, SSIS, SSRS, SSAS
- Power BI experience
- Data warehousing, ETL, data integration/manipulation background
- Profit share - up to 10% max
- 25 days holiday, 5% matched pension, Private Medical, MS Certs
- Up to £55,000
- Chance to work with really well known clients
- Join an MS Gold Partner
- Work on Azure cloud projects


I have created a LegalTech (startup in the field of law) which aims to connect lawyers and bailiffs in order to simplify the service process.
As a partner, I participate in the company's strategic decisions. As a CEO, my mission is making coherent technical choices to ensure the durability of our product. As DPO, I am responsible for ensuring data compliance and compliance of our tool, and as developer, I have developed our entire product using Ruby On Rails and Vue.js
I have to understand the customer's needs to translate it into a technical solution. Within this company, I am a back-end developer PHP. I also must take care about performance because of large amount of data owned by Gac. We use tools such as MySQL, Elastic Search and Redis.
Process quality pilot - Project manager - Developer @ Carrier - September 2011 to January 2017
At Carrier, I had the opportunity to diversify in my work
As Project Manager, I developed a 3D drawing strongeting solution with Sketchup and the API Ruby. As a Process Quality Pilot, I created a web application with C# & ASP.NET MVC in order to follow the technical interventions.
As a design office, I carried out calculations of the installations's sizing and the drawing of execution's plans under AutoCad.


I was surprised to see I had no menu today - out of the blue - its actually moved to the bottom of the page! After hours of fiddling and disabling every single plugin, leaving just plagelines the issue is still present. See video for a basic text box - I moved it into the head and it jumps to the bottom and shows just above the footer but below the main content. I have a temp fix by placing the menu into the first row on the main content but it does mean other than my home page, all other pages have no menu. A quick fix is very urgent for this bug.
By Houston Haynes+
Hey folks - I'm trying to get right of some 'dead space' at the bottom of the page in the Material Theme. (see attached) Those two gray lines have an "Edit" button in between them when the browser has a login cookie for the site. Here I created a screenshot from a browser session that doesn't have context for my main login, so you can see that the "Edit" indicator is gone, but the bars and the space it occupies still remains. Can someone help me isolate this so I can make it *completely* disappear? Thanks.
hi all, I have some trouble using PL5 on my site.
I used plugins for event calendar (event on) and plugin (timetable responsive scheduler for WP) for schedule (classes) in the gym.
The problem is, that post from this 2 plugins are shown without menu in header and footer. (I setup header and footer) in the page editor for all type of page.
When I create a lesson, it creates posts with slug (I have a slug "lekce" & event for events).
I try to edit the post with PL editor, but editor is not opening on the post.
Do you have some idea where should be some problem? Thanx so much.
here are links for the sites :
site with schedule :
site of one of the class (pilates)
site with calendar :
7 side with one event from the calendar :
when I have my site on DMS2 it was working :-(
By Michael Kummer+
I have been unsuccessfully trying to get my 3-column widgetized footer aligned centered. The widget section itself is aligned left because the alignment appears to be controller the widget's content only. The container that contains the widget section is aligned centered. I have chosen a 3 column layout and I added 3 widgets, assuming they would be aligned centered.
Any idea of what I may be doing wrong?
The page is question is: http://www.michaelkummer.com


Suppose the first ball comes in heading north. If it does not hit the target ball head on, the target ball flies off at some angle (say, to the northeast). It has an eastward component of momentum. To balance this, the first ball cannot stop, for if it did so, momentum would not be conserved in the east-west direction. It must head roughly northwest in such a way that its westward component of momentum cancels the eastward component of the target ball. The east-west momentum is then zero after the collision, which it must be because it was zero before the collision. See Figure 6.19 on page 102.


Programming language Python
Comparing Python with C++
Python code is typically 3-5 times shorter than equivalent Java code. However it is often 5-10 times shorter than equivalent C++ code. One Python programmer can finish in two months what two C++ programmers canâ€™t complete in a year. Python shines as a glue language, used to combine components written in C++.
Python is an object-oriented, strictly, dynamically typed, lexically scoped programming language. Its object model is quite flexible (single-dispatch, meta-classes, everything is an object), and somewhat similar to Basic and Pascal. The origin Python has some functional programming features: first-class functions, map(), reduce(), list comprehensions, and lexical closures. Inside of the GPRS module is a limited version in use. Anyhow, this limited version is often more than enough to cover the needs in M2M.
Python is a extremely â€œfree-formâ€ language with very few ways of invariant construction. A loop with ” FOR NEXT” can be reduced to “FOR”, because the end of the loop can be forced by shifting the next instruction left.
Comparing Python with Java
Python is expected to run slower than Java, but they also take much less time to develop. In M2M projects often the speed is less important. Most time a M2M devices is waiting for an event. Python code is much times shorter than Java code. This difference can be attributed to Pythonâ€™s built-in high-level data types and its dynamic typing.
public class HelloWorld
public static void main (String args)
if ( a > b )
print â€œHello, world!â€
if a > b :
99 bottles of beer
There is a collection programs for the Song 99 Bottles of Beer programmed in different programming languages. The song is represented in much more than 1000 different programming languages and variations.The links to Python, Java and C++ as below. The Python code is much shorter as usual.
- Python versions: http://99-bottles-of-beer.net/language-python-808.html
- Java versions: http://99-bottles-of-beer.net/language-java-3.html
- C++: http://99-bottles-of-beer.net/language-c++-108.html
Your starting point can be a ready to use Python terminal or just a plain GPRS module with Python engine. The ready to use Python terminal can be customised, the software can be written by you or by third party. Last but not least you can get a own M2M device from scratch. If you have interest in an own Python based M2M application, then just drop an email to harald.naumann (at) gsm-modem.de or use the form to get further details.


Since I took my first multimedia course in high school, I knew I wanted to be a maker. I remember staying up late rendering Flash animations and playing them for the entire school on closed circuit TV. Making things has always given me a sense of satisfaction that I could never find elsewhere. It is that feeling of accomplishment combined with an understanding that I can make an impact in the world that fuels my drive to find my next challenge.
In addition to designing, I devote part of my time to learning new technologies. Tinkering with programming languages and prototyping tools helps me appreciate the product development process a little bit better when I understand all the steps involved. My next goal is to learn Swift so that I can launch my own language learning app.
When I am away from my desk, I am usually traveling. I believe learning about other cultures helps us understand more about ourselves. I have come to appreciate that we all solve problems differently based on our understanding and the resources at our disposal. This has lead me to develop a deeper sense of compassion and a desire to understand those for whom I design.


My father has an old computer that is pretty messed up. The current OS is windows xp and Im thinking if I could upgrade to a Windows 7 copy.
When I look at the system requirements of windows 7, I believe that it needs more ram to run win7, since it has only 512mb of ram installed. The motherboard is an Albatron 915-SLI and the CPU is the Intel Pentium 4 630 (Prescott - 90nm) @ 3GHz. It has an Gigabyte geforce 6600gt installed. So Im thinking of upgrading to 2gigs of ddr1 ram (40 euro for 2x2 kit). You think this will be enough for running windows 7?? Will there be an improvement over windows xp? The main use the computer gets is internet browsing (currently Opera, since chrome uses too much ram), downloading, excel-word file editing, email downloading, burning dvd's, etc. So not very heavy use like audio/video/photo editing, gaming and stuff. Its being used quite like an office computer.
The thing is that the motherboard doesnt list windows7 as compatible in the manual. Well thats normal since when it came out, there were no windows7. Still how can I be sure that there will everything be compatible?
Before you reinstall the OS, make sure that you get the right drivers for the mobo for WIN 7. If the drivers are available in the internet, then adding more RAM should be fine. IMO even the WIN 7 home basic would suffice for his needs.
The system looks to be getting on in age. It won't last forever, even with some upgrades.
At some point, the money spent on upgrades may provide better value if it is saved and put towards a new system. But that decision needs to factor in what your computing needs are too.


You're given an array of $$$n$$$ integers between $$$0$$$ and $$$n$$$ inclusive.

In one operation, you can choose any element of the array and replace it by the MEX of the elements of the array (which may change after the operation).

For example, if the current array is $$$[0, 2, 2, 1, 4]$$$, you can choose the second element and replace it by the MEX of the present elements  — $$$3$$$. Array will become $$$[0, 3, 2, 1, 4]$$$.

You must make the array non-decreasing, using at most $$$2n$$$ operations.

It can be proven that it is always possible. Please note that you do not have to minimize the number of operations. If there are many solutions, you can print any of them.

–

An array $$$b[1 \ldots n]$$$ is non-decreasing if and only if $$$b_1 \le b_2 \le \ldots \le b_n$$$.

The MEX (minimum excluded) of an array is the smallest non-negative integer that does not belong to the array. For instance:

- The MEX of $$$[2, 2, 1]$$$ is $$$0$$$, because $$$0$$$ does not belong to the array.
- The MEX of $$$[3, 1, 0, 1]$$$ is $$$2$$$, because $$$0$$$ and $$$1$$$ belong to the array, but $$$2$$$ does not.
- The MEX of $$$[0, 3, 1, 2]$$$ is $$$4$$$ because $$$0$$$, $$$1$$$, $$$2$$$ and $$$3$$$ belong to the array, but $$$4$$$ does not.

It's worth mentioning that the MEX of an array of length $$$n$$$ is always between $$$0$$$ and $$$n$$$ inclusive.