| < Day Day Up > |
9.4 Operating System TweaksYou must enable certain networking features in your operating system to make interception caching work. First, you need to enable IP packet forwarding. This allows the operating system to receive packets with foreign destination addresses. Second, you must enable and configure optional code in the kernel that redirects the foreign packets to Squid. 9.4.1 LinuxThe instructions in this section should work for the 2.4 series of Linux kernels. I used RedHat Linux 7.2 (kernel 2.4.7-10). If you are using an older or newer version, these may not work. I recommend searching the Squid FAQ and other places for updated or historical information. In my tests with iptables, it wasn't necessary to enable IP forwarding. However, you may want to enable it initially and see if you can disable it after everything else is working. The best way to enable packet forwarding is to add this line to /etc/sysctl.conf: net.ipv4.ip_forward = 1 Most likely you'll need to make a new kernel before HTTP interception will work. See O'Reilly's Running Linux by Matt Welsh, Matthias Kalle Dalheimer, and Lar Kaufman, if you don't know how to configure and create a Linux kernel. When you configure the kernel, make sure these options are enabled: o General setup Networking support (CONFIG_NET=y) Sysctl support (CONFIG_SYSCTL=y) o Networking options Network packet filtering (CONFIG_NETFILTER=y) TCP/IP networking (CONFIG_INET=y) Netfilter Configuration Connection tracking (CONFIG_IP_NF_CONNTRACK=y) IP tables support (CONFIG_IP_NF_IPTABLES=y) Full NAT (CONFIG_IP_NF_NAT=y) REDIRECT target support (CONFIG_IP_NF_TARGET_REDIRECT=y) o File systems /proc filesystem support (CONFIG_PROC_FS=y) Additionally, make sure this option isn't enabled: o Networking options Fast switching (CONFIG_NET_FASTROUTE=n) The code that redirects foreign packets to Squid is part of the Netfilter software. Here is a rule that sends the intercepted HTTP connections to Squid: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 The Linux kernel maintains a number of different tables. The -t nat option indicates that we are modifying the Network Address Translation (NAT) table. In essence, we're using iptables to translate origin server TCP/IP addresses to Squid's local TCP/IP address. Each iptables table has a number of chains. The -A PREROUTING option indicates that we are appending a rule to the built-in chain named PREROUTING. The PREROUTING chain applies only to packets entering the system from the outside network. The next three options determine which packets match this rule. The -i eth0 option restricts the rule to packets received on the eth0 interface. The -p tcp option specifies TCP packets, and —dport 80 specifies packets with destination port equal to 80. If all three conditions are true, the packet matches the rule. The -j REDIRECT option indicates the target, or action to take, for packets that match the rule. REDIRECT is a built-in target name that causes iptables to change the packet's destination address to <IP_ADDRESS>. The —to-port 3128 option instructs iptables also to change the destination TCP port number to 3128. If you are also running an HTTP server (such as Apache) on the Squid host, you must add another iptables rule. The additional rule is necessary to allow connections to your HTTP server. Otherwise, the REDIRECT rule causes iptables to send those connections to Squid on port 3128. You can use the -I option to insert a new rule at the top of the list: iptables -t nat -I PREROUTING -i eth0 -p tcp -d <IP_ADDRESS> --dport 80 -j ACCEPT Once you have all your iptables rules working correctly, be sure to save them with this command: /sbin/service iptables save This saves the current rules to /etc/sysconfig/iptables so they get automatically loaded when you reboot. <IP_ADDRESS> Linux and WCCPVersion 2.4 of the Linux kernel comes with a GRE pseudo-interface. However, it doesn't work for decoding GRE-encapsulated packets from a WCCP session. The problem seems to be that the router sets the Protocol Type field to 0x883E for WCCP/GRE packets. Linux's GRE driver doesn't know what to do with these packets because it doesn't know about protocol type 0x883E. You can try patching Linux's GRE module so that it works with WCCP. The Squid FAQ contains a link to such a patch. However, you'll probably find it easier to use the WCCP-specific module for Linux. You can find it at http://www.squid-cache.org/WCCP-support/Linux/ip_wccp.c. You need to compile the ip_wccp.c file as a loadable kernel module. This can be a little tricky because the specific compiler options may change depending on your kernel version. One thing you can do is go to your kernel source directory, type make modules and watch the compiler commands scroll by. Then copy one of those commands and change the last argument to ip_wccp.c. Here are the commands that I used with the 2.4.7-10 Linux kernel: % gcc -Wall -D_ _KERNEL_ _ -I/usr/src/linux-2.4.7-10/include \ -DMODULE -DMODVERSIONS -DEXPORT_SYMBAB \ -include /usr/src/linux-2.4.7-10/include/linux/modversions.h \ -O2 -c ip_wccp.c The gcc command should leave you with an ip_wccp.o file in the current directory. The next step is to load that file into the kernel with the insmod command: # insmod ip_wccp.o Note that the ip_wccp module accepts GRE/WCCP packets from any source address. In other words, a malicious person might be able to send traffic to your Squid cache. If you use this module, you should also install an iptables rule to deny foreign GRE packets. For example: # iptables -A INPUT -p gre -s <IP_ADDRESS> -j ACCEPT # iptables -A INPUT -p gre -j DROP Again, don't forget to save your working rules with the /sbin/service iptables save command. 9.4.2 FreeBSDThe examples in this section are based on FreeBSD-4.8 and should work for any later version of FreeBSD-4 and FreeBSD-5. To enable IP packet forwarding, add this line to /etc/sysctl.conf: net.inet.ip.forwarding=1 You'll need a kernel with two special options enabled. If you don't know how to make a kernel, refer to Section 9 of the FreeBSD Handbook (http://www.freebsd.org/handbook/index.html). Edit your kernel config file and make sure these lines are present: options IPFIREWALL options IPFIREWALL_FORWARD If the Squid box is in an unattended machine room, I also recommend using the IPFIREWALL_DEFAULT_TO_ACCEPT option. In case you mess up the firewall rules, you'll still be able to log in. These ipfw commands tell the kernel to redirect intercepted connections to Squid: /sbin/ipfw add allow tcp from <IP_ADDRESS> to any out /sbin/ipfw add allow tcp from any 80 to any out /sbin/ipfw add fwd <IP_ADDRESS>,3128 tcp from any to any 80 in /sbin/ipfw add allow tcp from any 80 to <IP_ADDRESS> in The first rule matches packets originating from the Squid host. It ensures that outgoing TCP connections won't be redirected back to Squid.[3] The second rule matches TCP packets sent from Squid back to the clients. I've added it here in case you have additional ipfw rules later that would deny these packets. The third rule is the one that actually redirects incoming connections to Squid. The fourth rule matches packets coming back from origin servers to Squid. Again, this is in case you have subsequent deny rules.
If you're also running an HTTP server on the Squid host, you must add another rule that passes, rather than redirects, TCP packets destined for the origin server. The following rule goes before the fwd rule: /sbin/ipfw add allow tcp from any to <IP_ADDRESS> 80 in FreeBSD typically stores ipfw rules in /etc/rc.firewall. Once you get your rule set working properly, be sure to save them. Add this line to /etc/rc.conf to make FreeBSD automatically run the /etc/rc.firewall script when it boots: firewall_enable="YES" <IP_ADDRESS> FreeBSD and WCCPFreeBSD Version 4.8 and later have built-in support for GRE and WCCP. Earlier versions require patches, which you can still find at http://www.squid-cache.org/WCCP-support/FreeBSD/. The built-in implementation is much better, however, as it is written by real kernel gurus. You'll probably need to make a new kernel that supports GRE. Add this line to your kernel configuration: pseudo-device gre For FreeBSD-5, use device instead of pseudo-device. Of course, you also need the FIREWALL options mentioned in the preceding section. After installing and booting from the new kernel, you must configure a GRE tunnel to accept GRE packets from the router. For example: # ifconfig gre0 create # ifconfig gre0 <IP_ADDRESS> <IP_ADDRESS> netmask <IP_ADDRESS> up # ifconfig gre0 tunnel <IP_ADDRESS> <IP_ADDRESS> # route delete <IP_ADDRESS> The ifconfig command adds a routing table entry for the router (<IP_ADDRESS>) over the gre0 interface. I found it necessary to delete that route so that Squid can talk to the router. You may want or need to add an ipfw rule for the GRE packets coming from the router: /sbin/ipfw add allow gre from <IP_ADDRESS> to <IP_ADDRESS> 9.4.3 OpenBSDThe examples in this section are based on OpenBSD 3.3. To enable packet forwarding, uncomment or add this line in /etc/sysctl.conf: net.inet.ip.forwarding=1 Now, configure the packet filter rules for interception by adding lines like these to /etc/pf.conf: rdr inet proto tcp from any to any port = www -> <IP_ADDRESS> port 3128 pass out proto tcp from <IP_ADDRESS> to any pass out proto tcp from any port = 80 to any pass in proto tcp from any port = 80 to <IP_ADDRESS> If you aren't already using OpenBSD's packet filter, you need to enable it with this line in /etc/rc.conf.local: pf=YES <IP_ADDRESS> OpenBSD and WCCPFirst, tell the system to accept and process GRE and WCCP packets by adding these lines to /etc/sysctl.conf: net.inet.gre.allow=1 net.inet.gre.wccp=1 Then, configure a GRE interface with commands like these: # ifconfig gre0 <IP_ADDRESS> <IP_ADDRESS> netmask <IP_ADDRESS> up # ifconfig gre0 tunnel <IP_ADDRESS> <IP_ADDRESS> # route delete <IP_ADDRESS> As with FreeBSD, I found it necessary to delete the route that is automatically added by ifconfig. Finally, depending on your packet filter configuration, you may need to add a rule that allows the GRE packets: pass in proto gre from <IP_ADDRESS> to <IP_ADDRESS> 9.4.4 IPFilter on NetBSD and OthersThe examples in this section are based on NetBSD 1.6.1. They might also work on Solaris, HP-UX, IRIX, and Tru64 since IPFilter runs on those systems as well. To enable packet forwarding (on NetBSD), add this line to /etc/sysctl.conf: net.inet.ip.forwarding=1 Then, insert a line like this into the NAT (network address translation) configuration file, /etc/ipnat.conf: rdr fxp0 0/0 port 80 -> <IP_ADDRESS> port 3128 tcp Your interface name may be different from fxp0 in this example. <IP_ADDRESS> NetBSD and WCCPI was not able to make WCCP work with NetBSD, even after patching the GRE code to accept WCCP packets. The problem seems to arise because the IPFilter rdr rule is bound to a specific interface. Packets coming from the router go through NetBSD's gre0 interface (where they are unencapsulated). However, packets going the other way, back to the router, aren't encapsulated and don't go through the same network interface. Therefore, the IPFilter code doesn't translate Squid's local IP address back to the origin server's address. |
| < Day Day Up > |


Deleted User
04-May-19 04:04 PM
@CrisF just saw your message, don't forget this is a testnet, and it is intended to show that people can communicate / coordinate and work as a team. The 2nd role of a testnet, is to test :D.
In a real case scenario, I don't think we should expect any harm from other NN's, we just need to be prepared.
I have no doubt in case something goes wrong / an operator goes rogue he will just have all other NN chasing him. That s exacly what would happen to anyone harming my node, personnally. Am personally very cool with testnet stuff (even now I quitted), but the main NN is another subject, and I believe it s crystal clear for everyone ^^. This situation WILL happen, or MAY happen, the testnet here helped us to get safeguards.
the other point being personal incentive VS network incentives
typically affected by UTXO management
on this point, we don't need rules, but "expected and recommended behaviour"
It just makes me laugh to see people with 5 utxos
Guyz, I split by 100 when under 100, my node is 4th, so it works fine ?
tweaking as long as it doesn t harm
or induce an additionnal cost
but that s another subject
I really believe we DO have protections that no other coins or very few have
and am not talking about DPOW, but the ability of Joker / alright to dig and break and come up with a fancy solution
(edited)
Shossain's node are 1st and second, and I think he used autosplit
tweaking when there is a performance issue or a lack by >10 or 20 %, hell yeah
to win 1% and just fuck the network, noneed
on that point, I agree with you, but just on Mainnet ^^
2


EBD - Easton Bible DIctionary
Host of heaven
HOST OF HEAVEN
"HOST OF HEAVEN" The sun, moon, and stars are so designated (
Genesis 2:1
). When the Jews fell into idolatry they worshipped these(
Deuteronomy 4:19
;
2 Kings 17:16
;
21:3,5
;
23:5
;
Jeremiah 19:13
;
Zephaniah 1:5
;
Acts 7:42
).
"HOST OF HEAVEN" The sun, moon, and stars are so designated (Genesis 2:1). When the Jews fell into idolatry they worshipped these(Deuteronomy 4:19; 2 Kings 17:16; 21:3,5; 23:5; Jeremiah 19:13; Zephaniah 1:5; Acts 7:42).


Library: Foundation
Package: UUID
Header: Poco/UUIDGenerator.h
Description
This class implements a generator for Universal Unique Identifiers, as specified in Appendix A of the DCE 1.1 Remote Procedure Call Specification (http://www.opengroup.org/onlinepubs/9629399/), RFC 2518 (WebDAV), section 6.4.1 and the UUIDs and GUIDs internet draft by Leach/Salz from February, 1998 (http://ftp.ics.uci.edu/pub/ietf/webdav/uuid-guid/draft-leach-uuids-guids-01.txt)
Member Summary
Member Functions: create, createFromName, createOne, createRandom, defaultGenerator, getNode, timeStamp
Constructors
UUIDGenerator
Creates the UUIDGenerator.
Destructor
~UUIDGenerator
~UUIDGenerator();
Destroys the UUIDGenerator.
Member Functions
create
UUID create();
Creates a new time-based UUID, using the MAC address of one of the system's ethernet adapters.
Throws a SystemException if no MAC address can be obtained.
createFromName
UUID createFromName(
const UUID & nsid,
const std::string & name
);
Creates a name-based UUID.
createFromName
UUID createFromName(
const UUID & nsid,
const std::string & name,
DigestEngine & de
);
Creates a name-based UUID, using the given digest engine.
Note: in order to create a standard-compliant UUID, the given DigestEngine must be either an instance of MD5Engine or SHA1Engine. The version field of the UUID will be set accordingly.
createFromName
UUID createFromName(
const UUID & nsid,
const std::string & name,
DigestEngine & de,
UUID::Version version
);
Creates a name-based UUID, using the given digest engine and version.
createOne
UUID createOne();
Tries to create and return a time-based UUID (see create()), and, if that does not work due to the unavailability of a MAC address, creates and returns a random UUID (see createRandom()).
The UUID::version() method can be used to determine the actual kind of the UUID generated.
createRandom
UUID createRandom();
Creates a random UUID.
defaultGenerator
static UUIDGenerator & defaultGenerator();
Returns a reference to the default UUIDGenerator.
getNode
void getNode();
timeStamp
Timestamp::UtcTimeVal timeStamp();


There was a problem with your credentials
The username and/or password you entered was invalid. Click
here
to try again.


We live in a physical universe, thus to interact with it we should know some of it's buillt-in laws, which can be summarized with the study of thermodynamics, so better pay attention to this trivia, you might discover a thing or two!


Your browser doesn't support local storage. This website isn't going to work until you switch to a more recent browser or enable local storage. :(
Browsers which support local storage
Internet Explorer 9+
Firefox 3.5+
Safari 4.0+
Chrome 4.0+
Opera 10.5+
iPhone 2.0+
Android 2.0+
No dragons found!
You don't appear to have any dragons in your browser's local storage. You can:
Add dragons manually
Add dragons from saved file
No dragons found!
You don't appear to have any dragons in your browser's local storage. You can:
Add dragons manually
Add dragons from saved file
Add dragons from file
Add or edit dragons manually
Are you sure you want to delete?
You'll have to manually reenter all data for any dragons deleted to get it back.
Click the save button to download a file and prevent losing your dragons when your cache is cleared. Click on color predictor image once generated and you can download it, too!


2019-04-20
As part of my investigations carried out while creating my career plan, I wanted to identify some global social issues that I find particularly important. Clarifying these may reveal to me a more obvious personal mission to follow, providing a clear direction to search for more meaningful work.
The approach I took to searching was inspired by 80,000 Hours in Part 5 of their online career guide. They provided three criteria for a good social problem to focus on solving. It should be a problem that is:
The organisation then goes to identify various global problems and rates them according to these criteria. These were a good starting point but were limited in quantity, and overtly focused reducing the effects of low-probability scenarios. It seemed possible that there could be better options out there. Perhaps not as sensationalist or popular as those posted by 80,000 Hours, but still would provide a meaningful work mission. It also made sense to write the argument myself for each of the issues I identify, to make sure that I truly understand them and to provide opportunities for others to comment.
Therefore, here I shall write a section for each global issue which I personally find large in scale, solvable by a collective and neglected by larger society. I shall also consider for each how I could personally fit in the collective institutions that are working to tackle the problem.
Unwritten.
Unwritten.
Unwritten.
Unwritten.
Unwritten.


|
Embedded Artistry Framework
Embedded Systems C++ Framework
|
Definitions, functions, and classes related to communication busses. More...
Enumerations | |
| enum | status { status::ok = 0, status::enqueued, status::busy, status::error, status::unknown } |
| Generic communication bus status. More... | |
Definitions, functions, and classes related to communication busses.
|
strong |
Generic communication bus status.
This enumeration represents the status of a communication bus. These states are generally found in a variety of communication busses. If they do not apply to the bus you are developing, feel free to ignore them.
You can create your own bus status enumeration for use with the commBus class instead of using the default. However, the types represented here must be included because they are used automatically by the driver. See i2c.hpp for an example.


{% extends "djangoapp/base.html" %} {% load static %} {% block title%}Contact Best Cars Dealership{% endblock %} {% block content %}
Have a question about the site or would like to share a comment?
1-800-555-1234
Miscellaneous St.
#246 Unknown City, NA 00000


by Robin Johnson*
Economic Affairs 23/1, pp 27-32, March 2003, Institute of Economic Affairs, London.
*(Dr Johnson was a policy administrator in the New Zealand Ministry of Agriculture from 1971 to 1993)
Various episodes of Yes Minister and Yes Prime Minister may have inured us to the machinations of the Permanent Secretary in Her Majesty's Government, but a deeper message lies within the economics of public choice and bureaucracy. The process of government has profound effects on the kinds of economic policies that emerge from democratic governments and how they are implemented.
Political decision making in the economic sphere involves a balancing of views of different interests to find some common denominator. The final decision in a given case is likely to be influenced by those who bear the costs and those who share the benefits of the policy decision. This article suggests that the transaction costs involved in the political process itself are also important.
Public choice economics has focused attention on many parts of the political
process such as the role of constitutions, the use of rules, the
earning of economic rents, principal-agency relationships and
capture of independent government-owned organisations by interest
groups. The meeting place where these issues are resolved is known
in public choice circles as the political market
. The political
market can be seen as the collective expression of individual and
group preferences through an aggregate decision-making process, the
governmental polity.1 Less attention has been
paid to the economics of political processes that are used to
formulate economic policy. Transaction cost
economics, a branch
of the new institutional economics
, has some potential in this
regard which is discussed in this article.
Working from the writings of Buchanan, Williamson, and North, it is possible to construct a transaction cost model of the political decision process and its effects on the formation of economic policy. The model sees politicians and interest groups resolving their differences by adopting policy measures that suit both parties. Politicians favour policies which extend the life of the party[ies] in power while interest groups favour policies which deliver benefits to them now and in the future. Interest groups are powerful precisely because they can influence voting patterns and party finances. Major transaction costs arise from the difficulties and uncertainties of maintaining control of the process over time.
In the first part of the article I review recent literature in this area, and follow that with a discussion of some of the implications for public policy analysis.
Transaction cost economics derives from the work of Ronald Coase who first posited that when it is costless to transact, the efficient competitive solution of neoclassical economics obtains2.
It does so because the competitive structure of efficient markets leads the parties to arrive costlessly at the solution which maximises aggregate income regardless of the institutional arrangements. But with information deficiencies and imperfections in input and product markets further transaction costs are incurred by the firm in the conduct of its business. It is no longer costless to transact and the institutional arrangements have a bearing on the outcome as the base line is no longer the neoclassical solution.
As a result, proponents of the institutional approach therefore focus on alternative governance structures in firms and ask what are the net gains after costs of information gathering and maintaining contracts have been taken into account3. The focus is on organisational alternatives rather than the marginal conditions. The marginal conditions are seen as some `ideal' benchmark which can never be achieved in the real world.
This approach is the basis of Oliver Williamson's analysis of hierarchical organisations and the economics of vertical and horizontal integration4. It stresses the role of a number of transaction costs that prevent the pure model of competition working in an imperfect world. In particular, costs of maintaining and policing contractual obligations and asset specificity are the determinants of the final outcome.
Can this reasoning be applied to government policy-making and organisation? Douglass North, Murray Horn and Avinash Dixit are among those who have applied transaction cost economics to political decision making in the realm of economic policy5. There is a new recognition of the role of governance structures in policy making institutions. In turn, these constructs enable policy formation and implementation to be identified separately from the political process of which they are part.
The study of alternative institutional arrangements started with the work of Coase. He observed that the conventional approach in welfare economics was to consider an ideal economic system and then prescribe what is necessary to achieve the ideal. The recognition of the importance of transaction costs transferred analytic interest to alternate systems of governance, whether private or public. Public policy involves a choice between alternative social institutions, which are created by law or are dependent on it. Without knowledge of what could be achieved under alternative institutional arrangements, it is impossible to choose wisely among them6.
This approach is consistent with classical economics where the primary objective of political economy was to contrast alternative political and frameworks in order that choice among these institutional arrangements might be better informed7. The economist following the Pigouvian approach in the analysis of market failure problems is likely to prescribe government action where none is warranted because the method has an implicit bias toward interventionist solutions8.
The US economist Pasour reasons that the Pigouvian approach is flawed
precisely because it ignores transaction costs. If one explores
many actual exchange situations it is soon found that they are
characterised by imperfect markets, deficiencies of information and
unequal bargaining power. As Avinash Dixit puts it: As a crude but
effective caricature, one can say that normative policy analysis
began by supposing that the policy was made by an omnipotent
(having infinite power), omniscient (infinite knowledge), and
benevolent dictator. The work on second best removed the
omnipotence. That on information removed the omniscience. However,
the assumptions of benevolence and dictatorship have remained
unaffected by all these improvements in our understanding of the
limits on instruments and information....In reality, a policy
proposal is merely the beginning of a process that is
political at every stage - not merely the process of
legislation, but also the implementation, including the choice or
formation of an administrative agency and the subsequent operation
of this agency
(italics in original).
Dixit develops an organisational approach as promoted by the likes of Buchanan,
North9, and
Williamson10. In terms of the
political process, Dixit puts it: the standard normative approach
to policy analysis views this whole process as a
social-welfare-maximising black box, exactly as the neoclassical
theory of production and supply viewed the firm as a
profit-maximising black box.....Economists studying business and
industrial organisation have long recognised the inadequacy of the
neoclassical view of the firm and developed richer paradigms and
models based on the concepts of various transaction costs
. Dixit
therefore suggests that a better model of the policy forming
process should be based on an analysis of the relevant transaction
costs.
Dixit asks what organisational forms will overcome the monopoly of information held by bureaucrats, the opportunistic behaviour of civil servants, the problem of divided principals, and government-owned asset specificity? He clearly derives his approach from the writings of Oliver Williamson and Douglass North. Dixit identifies transaction costs involved in overcoming the asymmetric distribution of information between parties (signaling and screening costs, costs of monitoring and incentives, auditing costs and costs of misrepresentation), costs involved in managing agents (monitoring, incentives, and contractual obligations), costs of agents responding to multiple principals (coordination of policies, playing off one principal against another) and costs related to asset specificity (irreversible investments and lack of durability).
Following a Williamson approach, Dixit takes the view that the election process creates a contract between the politicians (individuals or parties) or administrators (regulatory agencies etc), and the citizens (individuals or interest group organisations). The contract is a promise of a policy (or programme) in return for votes (or contributions). Unlike private contracts, such policy contracts are difficult to enforce11.
First, political contracts are rarely between two clearly identifiable contractors; they have multiple parties (voters or lobbyists) on at least one side of the relationship. Second, their terms are generally much more vague (unspoken) than those of economic contracts. They leave much room for interpretation, and many loopholes for escape and opportunities to blame third parties or force majeure for failure to deliver. Thus a promise to cut taxes rarely specifies by how much, and can be rescinded when the budget situation turns out to be much worse than expected. In the electoral contract, the citizens have granted the elected representatives certain powers to collect taxes and make decisions on their behalf, the only safeguards in this process remains the free vote and, if this goes, abuse of power is likely to follow.
A similar approach has been put forward by ex New Zealand Treasury official, Murray Horn. He spells out some of the details of the exchange the two parties enter into12. His interpretation is also driven by bounded rationality, opportunism, agency theory and transaction costs in a parliamentary framework. He introduces some of the specifics of the political process and the accompanying transaction costs, including the cost of durability or lasting impacts. This is a wider definition of transaction costs than described by Dixit above.
Horn's transactions approach examines the relationship among three sets of
actors with different roles and motivations. Legislators
are the
elected representatives who perform both legislative and executive
functions. Legislation can only be enacted by an enacting
coalition
of individual legislators - that is, a group of
legislators that is large enough to guarantee the passage of a bill
into law. Constitutional differences between countries affect such
groupings and the solutions they might seek. Administrators
are
appointed rather than elected. They answer to the legislature. Horn
assumes that they do not bring policy preferences to their work!
Constituents
conveys the idea of particular groups in society
that have a [vested] interest in the policy making process.
Constituents enjoy the benefits - or suffer the costs - of
legislation, offer support or opposition to legislators, and,
ultimately, elect legislators to office. While these stereotypes
tend to simplify the complexity of the political/administrative
process in any one country, Horn maintains that they are
sufficiently general to explain decisions legislators make about
the organisation of public administration on a broad front.
The approach focuses on the difficulties political decision makers have in
securing continued electoral support on a longer term basis.
Legislators are regarded as self-seeking in their use of
legislation to increase their net political support and lasting
power. Their opportunities are limited by the transaction costs of
achieving agreement on their proposals. These are the time and
effort it takes to reach agreement on legislative refinements and
any time and effort that affected private interests subsequently
have to devote to participating in implementation and
administration; political uncertainty that the legislation will
last; uncertainty that the legislation will be administered as
intended; and uncertainty about the distribution of private
benefits and costs. If such relationships are regarded as the
hazards of the exchange
between the respective actors, then they
are generically similar to Williamson's far-sighted but incomplete
contracting
.
The elected/political appointees who are most likely to remain in power are those who are most successful in overcoming these transaction problems in the political process, such as those who are best able to reassure their supporters that the benefits of legislation will not be lost to administrators in implementation, or undone by subsequent legislatures. Successful implementation will depend on administrative agents who do not necessarily share the objectives of the enacting coalition and its constituents; these divergences create transaction costs to do with monitoring the performance of such agents and devising a system of rewards and sanctions that improve performance. There is no reference to asset specificity in this version of the model though government administrations are likely to depend on labour specificity in the administrative staff. Williamson13 notes that asset specificity is negligible in most public sector departments but human assets in many public bureaucracies involve considerable specificity (for example, nontransferable training and social conditioning).
Furthermore, the amount of net electoral support legislators receive from promoting a piece of legislation depends on the net flow of costs and benefits that private interests expect it to generate over time. Implementation bears on this calculus because private interests are sufficiently forward looking to anticipate how decisions on implementation will affect the flow of benefits and costs. Political support will cease unless they are well pleased (over time).
Horn's model supplements Dixit's model and brings back the broader concepts of public choice into main focus. The uncertainties identified by Dixit (information asymmetry, monitoring of agents and opportunism) create costs in the political process that have to be overcome if lasting control of the Treasury benches is to be achieved. The model posits that the endeavours of the legislators/politicians will continuously be directed to their own survival. This will be achieved by paying greater attention to the wishes of their supporters in a longer term framework. One term of office is never sufficient.
Now in a certain sense, these endeavours can be regarded as an optimal arrangement of the nation's affairs. The model posits that effective public administration requires that the transaction costs be minimised in determining and pursuing society's goals. There will be pressure from constituents to find least cost solutions to the problems of the day. There will be limits on the revenue and challenges from alternative expenditure items including government programmes. Debate and bargaining will tend toward least cost solutions.
The insight from the transaction cost model of the political market is that it mimicks how policy decisions are reached in government polities rather better than previous constructions. Outcomes are based on the balancing of interests and the respective power bases of the participants. The balancing of interests extends to policy implementation and performance. Participants have a vested interest in who is to implement a policy and on what terms and will influence the political decision accordingly.
The model recognises that power is unequally distributed and that silent majorities tend to be forgotten. The balancing process assumes the interested participants can anticipate future benefits and costs that affect their welfare and that they will act in this light. The model assumes that self-interest is dominant to the national interest in most circumstances.
The model does not require any deep analysis of political motives but rather sets out a useful framework that explains the process in which economic policy is conceived and executed. It clearly posits that decision making has to be a political process subject to electoral demands and interest group pressure on the one hand, and national interest concerns contained in rational advice from civil servants (who may or may not be disinterested) on the other.
It can be utilised to examine the structure of government bureaucratic organisations. Oliver Williamson offers a detailed analysis of the US Department of State14. He asks: could the organisation of foreign affairs by the Department of State be replaced by a private bureau? Not surprisingly, perhaps, he comes to the conclusion that it cannot and that there are specific tasks for which a government bureau is more suited. These tasks include situations where hazards of probity (lack of honesty) are to be avoided and organisational matters such as dependence on labour asset specificity (social conditioning and reliance).
The model indicates that blackboard exercises involving producer and consumer surpluses are of limited use in policy making. The presence of transaction costs will suggest different solutions to a policy problem depending where they fall. The case for government intervention in the market failure case is not clearcut if the costs of intervention outweigh the possible benefits. There may be little or no relationship between the costs and benefits estimated by the outside observer and the evaluations that individuals place on alternatives in actual choice situations15.
Another application is to ask whether the policy advice function in a government bureau could be contracted out? The Canadian department of agriculture, Agriculture Canada, explored this option and sponsored a study of a similar proposal in New Zealand16. While the study recognised that alternative sources of advice should be sought, for informational reasons, it came to the conclusion that confidentiality and probity concerns made the function more suitable for a public bureau.
More widely, the international flavour of the analysis overcomes the dominance of US writing on the subject dependent as it is on interpretations of the US constitution17. Murray Horn, in particular, while drinking at the fountain at Harvard, has incorporated the Westminster tradition into his version of the model and broadened its application to include state-owned profit-making organisations as well as government-financed bureaus.
While there is still an emphasis on democratic governmental decision making, particularly with regard to maintaining electoral support, the focus on institutional economics broadens the application to non-democratic regimes and offers a fruitful avenue of further research18. It also provides an entry point to the analysis of malfeasance and corruption in government administrations.19
Another application is in the distribution and administration of foreign aid. Many IMF and World Bank programmes are focused on particular national policy programmes or projects which depend on local initiatives and execution20. The strengths and weaknesses of national administrations very soon come to the fore when visiting economists seek answers to poor response rates to massive aid packages. Institutional economics offers useful guidance to those seeking reform in E. Europe21.
A powerful analysis of EU milk policy in this tradition has been published by
FAO22. In
this study, Roland Williams, an ex-official of the Milk Marketing
Board, shows how the details of the policy emanated from the terms
of the Treaties establishing the European Community. The Treaties
provide the constitution of the Union for making individual
acts of common policy, but the individual constitutions of
the member states (in all their diversity) provide for the
implementation of policy where governments and agencies are
dependent on the traditions of past policies and national
legislation23. Williams suggests that
little can be changed in the way of policy
without first changing
the constitutional arrangements which allowed them to develop as
they have in the first place24. He explicitly rejects a
marginalist approach in which judgement is passed on the system in
relation to what the writer believes would be the oucome of
a free-market situation
.(italics in original).
I have argued elsewhere for a more realistic policy-making framework as a guide to better policy making25. National and international advisors in ministries would benefit from a better understanding of the institutional background. University training could benefit from the teaching of more institutional economics and its practical applications. More university people could with advantage work in the civil service. General economists could re-assess their welfare models and voluminous writings in the professional literature and pay greater regard to the conditions under which their policy recommendations will have to operate. The world of Pigou would then find its proper place.
1 See D.B.Johnson (1991), Public Choice: An Introduction to the New Political Economy, Bristlecone Books, California.
2 R. H. Coase (1960), The Problem of Social Cost, Journal of Law and Economics 3, 1-44.
3 This follows D.C. North (1990a), Institutions, Institutional Change and Economic Performance, Cambridge.
4 The most recent statement is that of Oliver Williamson (2000), The New Institutional Economics: Taking Stock/Looking Ahead, Invited Paper presented to Annual Conference of the Australian Agricultural and Resource Economics Society, Sydney, January 23-25.
5 Main references are North, D.C. (1990b), A Transaction Cost Theory of Politics, Journal of Theoretical Politics 2, 355-67: Horn, M. (1995), The Political Economy of Public Administration, New York, Cambridge University Press; and Dixit, A. K. (1996), The Making of Economic Policy: A Transaction-Cost Politics Perspective, MIT Press, Cambridge, Massachusetts.
6 As stated in Coase, R. H. (1988), The Firm, The Market and the Law, Chicago, The University of Chicago Press.
7 This is set out in Buchanan, J.M. (1989), Explorations into Constitutional Economics, R.D.Tollison and V.J.Vanberg (eds), College Station, Texas A & M University Press.
8 Pasour, E.C. (1993), Economics and the Public Policy Process: What Can Economists Do?, New Zealand Economic Papers 27, 1-17.
9 According to Williamson (1999, p.309), North suggests that the efficiency of politics is to be judged by examining how closely an actual political market `approximates a zero transaction cost result'.
10 Williamson (1999) does not offer an analysis, to my knowledge, of the economic-political system. He appears to be diverted by the possibly more interesting question, to him, of whether private bureaucracies replicate the attributes of public bureaucracies: `The discrete structural atributes that define and distinguish the public bureau and are responsible for its powers and limitations thus need to be identified and explicated' (Williamson, op cit, p.307).
11 Williamson (1999, p.310) summarises the Dixit viewpoint; `[he} works out of an incomplete contracting setup in which bounded rationality and opportunism are featured and holds that the object is `to understand how the combined economic-political system evolves mechanisms to cope with the variey of transaction costs that it must face' (Dixit 1996, p.xv)'.
12 Horn does not specifically refer to the relationship as a contract, nor to incomplete contracts. He states (1995, p.13) that legislators and their constituencies engage in exchange. Legislators want electoral support and constituents want the private benefits - or to reduce the private costs - of legislation. Failure to deliver is measured at the voting booth and through other means of political support.
13 Williamson (1999, p.322, 339)
14 See Williamson, O.E. (1999), Public and Private Bureaucracies: A Transaction Cost Economics Perspective, Journal of Law, Economics, and Organisation 15, 306-42.
15 A case where such costs exceed benefits [soil erosion] is discussed by E.C. Pasour (1993), Economics and the Public Policy Process, New Zealand Economic Papers 27, 1-17.
16 See Storey, G.G. (1996), Investigation on the Implications of Government Reform in New Zealand for Obtaining Economic and Policy Analysis for the Agri-food Sector, Department of Agricultural Economics, University of Saskatchewan , for Agriculture Canada.
17 For a comparison of Westminster with the US parliamentary system, see Weaver, R.K. and Rockman, B.A. (1993), Do Institutions Matter? Government Capabilities in the United States and Abroad, The Brookings Institution, Washington.
18 I have discussed this elsewhere, see Johnson, R.W.M. (1990), The Role of Political and Economic Institutions in Rural Strategy Formulation and Implementation (http://WBLN0018.worldbank.org/trade/decagridoc.nsf/referencedocuments).
19 Johnson (1999, op. cit.)
20 Johnson (1999, op. cit.)
21 See Williamson, O.E. (1995), The Institutions and Governance of Economic Development and Reform, Proceedings of the World Bank Annual Conference on Development Economics 1994, Washington, 171-197.
22 Williams, R. (1997), The Political Economy of the Common Market in Milk and Dairy Products in the European Union, FAO Economic and Social Development Paper 142, FAO, Rome.
23 See Williams (1997), p.7.
24 Williams, op.cit., p.107.
25 See Johnson, R.W.M. (1994), The National Interest, Westminster and Public Choice, Australian Journal of Agricultural Economics 38, 1-30.


Date: Thursday, July 27, 2017 at 6pm in the CCTB
Attention: this is the second WUBSyB/HackyHour cross-over. So we will have a WUBSyB session from 5pm to 6pm and then continue with a regular HackyHour :) http://wubsyb.github.io/
If you already have a gpg key: bring your fingerprint and key id.
Ideas:
- Mobile App development (React Native)
- Docker security/singularity
- Esoteric programming languages
- Tools for project/day planning management
- TensorFlow ( http://playground.tensorflow.org )+1
- R vs Python vs Perl vs Julia
- Key-Signing, Key-Singing-Party +1+1+1+1
- Mutation Testing (humbug)
- hacker.org challenge "Say it" or "Captcha"
- Playing with babylon.js
Participants:
Frank- Torsten
- Jan
- Sonja
- Florian(Sorry, cannot make it...)
- Markus
- Ludmilla
- Philip
- Franzi
Pizza:
Attention: Pizza will be ordered at 5pm
- Chicken-Cheese-Tomato-BBQ (C.C.T.B.) +1+1
- Pizza (Artichokes, Onions, Capers, Anchovys, maybe Olives) --tasty
Whoever is not here at 5pm but wants to join the pizza order, please add your name here:


| Total net profit | -155.98 | Gross profit | 362.24 | Gross loss | -518.22 |
| Profit factor | 0.7 | Expected payoff | -1.14 | ||
| Absolute drawdown | -164.44 | Maximal drawdown (%) | 286.55 (234.67%) | ||
| Total trades | 137 | Profit trades (% of total) | 49 (35.77%) | Loss trades (% of total) | 88 (64.23%) |
| Long positions (won %) | 74 (28.38%) | Short positions (won %) | 63 (44.44%) | ||
| Largest | profit trade | 23.66 | loss trade | -53.71 | |
| Average | profit trade | 7.39 | loss trade | -5.89 | |
| Minimum | profit trade | 0.07 | loss trade | -0.08 | |
| Maximum | take profit in pips | 0.0 | stop loss in pips | -616.4 | |
| Average | take profit in pips | 0.0 | stop loss in pips | -474.5 | |
| Minimum | take profit in pips | 0.0 | stop loss in pips | -315.0 | |
| Maximum | Reward-Risk | 0.0 | Duration in minutes | 7677 | |
| Average | Reward-Risk | 0.0 | Duration in minutes | 1833.6 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 36 | |
| Maximum | consecutive wins (profit in money) | 8.0 (30.1) | consecutive losses (loss in money) | 11.0 (-113.89) | |
| Average | consecutive wins | 3.0 | consecutive losses | 6.0 |
| Total net profit | -226.47 | Gross profit | 128.68 | Gross loss | -355.15 |
| Profit factor | 0.36 | Expected payoff | -3.06 | ||
| Absolute drawdown | -226.47 | Maximal drawdown (%) | 270.47 (614.7%) | ||
| Total trades | 74 | Profit trades (% of total) | 21 (28.38%) | Loss trades (% of total) | 53 (71.62%) |
| Largest | profit trade | 16.89 | loss trade | -53.71 | |
| Average | profit trade | 6.13 | loss trade | -6.7 | |
| Minimum | profit trade | 0.07 | loss trade | -0.21 | |
| Maximum | take profit in pips | 0.0 | stop loss in pips | -616.4 | |
| Average | take profit in pips | 0.0 | stop loss in pips | -474.8 | |
| Minimum | take profit in pips | 0.0 | stop loss in pips | -315.0 | |
| Maximum | Reward-Risk | 0.0 | Duration in minutes | 7677.0 | |
| Average | Reward-Risk | 0.0 | Duration in minutes | 1697.1 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 36.0 | |
| Maximum | consecutive wins (profit in money) | 7.0 (17.7) | consecutive losses (loss in money) | 28.0 (-270.47) | |
| Average | consecutive wins | 2.0 | consecutive losses | 3.0 |
| Total net profit | 70.49 | Gross profit | 233.56 | Gross loss | -163.07 |
| Profit factor | 1.43 | Expected payoff | 1.12 | ||
| Absolute drawdown | -1.87 | Maximal drawdown (%) | 103.94 (96.78%) | ||
| Total trades | 63 | Profit trades (% of total) | 28 (44.44%) | Loss trades (% of total) | 35 (55.56%) |
| Largest | profit trade | 23.66 | loss trade | -13.87 | |
| Average | profit trade | 8.34 | loss trade | -4.66 | |
| Minimum | profit trade | 0.14 | loss trade | -0.08 | |
| Maximum | take profit in pips | 0.0 | stop loss in pips | -561.6 | |
| Average | take profit in pips | 0.0 | stop loss in pips | -474.2 | |
| Minimum | take profit in pips | 0.0 | stop loss in pips | -398.4 | |
| Maximum | Reward-Risk | 0.0 | Duration in minutes | 5819.0 | |
| Average | Reward-Risk | 0.0 | Duration in minutes | 1993.9 | |
| Minimum | Reward-Risk | Duration in minutes | 54.0 | ||
| Maximum | consecutive wins (profit in money) | 9.0 (59.9) | consecutive losses (loss in money) | 12.0 (-71.05) | |
| Average | consecutive wins | 3.0 | consecutive losses | 4.0 |


amazing people are making amazing designs in a fun environment
when you work with us, you arepart of a team of committed collaboration. all aspects of our software developement process are integreted, interactive and aglie.
our appreach unifies design,developement and product management to creat excepyional products
we start project by understanding your bussiness gaols, the user's needs and the product requements
then we help help transalte them effective and alegart solutions.
before we sign a contract or write a line of code our team will spend the necessary line needed to understand your prodect vision
the outcome of this scoping session is proposed or high level statement of work.
based on your regulements,we can provide acomplete offering or just the piesesyou need.
black
Autolion
portofolio
portofolio
portfolio
portfolio
portofolio
portfolio


stocks
personalize
My Portfolios
Details Page
Enter a symbol or
company name:
*At least 20 min. delay.
Disclaimer


About Us
Who Are We
Neighborhood hardware store specializing in key services, Valspar paint, custom screen and glass services and plumbing fixtures and tools. Peterson’s Hardware Store has been part of the community since 1958. We are here to help you with any hardware, plumbing, and household needs. We also repair windows,screens, cut glass, mix paints, and make keys. As a mom and pop store we are grateful for your business and are open 7 days a week for whatever you need during these hard times.
What Do we do?
Peterson’s Hardware Store has been part of the community since 1958. We are here to help you with any hardware, plumbing, and household needs. We also repair windows,screens, cut glass, mix paints, and make keys. As a mom and pop store we are grateful for your business and are open 7 days a week for whatever you need during these hard times.


A Google Chrome browser on Windows, macOS or Linux 64 bit.
This demonstrates bridging JavaScript to the native platform using cross-platform technologies. To get detailed informations about the full stack: https://github.com/frederiksen/chrome-platform-bridge
Checks if the required prerequisites has been setup
Get OS name and version
const platformBridge = new ChromePlatformBridge();
const result = await platformBridge.invoke({method:"example1"});
var osNameAndVersion = System.Runtime.InteropServices.RuntimeInformation.OSDescription;
return osNameAndVersion;
-
Create a new file on the desktop
const platformBridge = new ChromePlatformBridge();
const result = await platformBridge.invoke({method:"example2", filename: "text.txt", text:"Message from the Chrome browser: Hello world"});
var folderPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var fullPath = Path.Combine(folderPath, filename);
using (var outputFile = new StreamWriter(fullPath))
{
await outputFile.WriteLineAsync(text);
}
return fullPath;
-


✺ siyu
analogsiyu.io
drawing
making-and-sharing
pedagogical
about
Paper City
Story Telephone Workshop @ Xinchejian
Light Up Mask
Take Care: Charlieplexing Heart LED
Foldable Helmet
Soft Circuit Workshop @ Tongji University
Fab ISP
Paper Circuit City Mural @ Shanghai Makerfaire 2020
Siy(U)no Board
Attiny Board
Lover's Orbit
Performance @ Arts Letters and Numbers


While working with the CARDIAC, we saw the
TAC
instruction that could be used to make logical decisions by conditionally
jumping to another memory location based on the value of the
accumulator.
Higher-level languages like Tranquility also provide mechanisms
for conditionally transferring control.
The primary statement we'll be studying is the
if
statement.
Let's look at the below example.
if .mode == 0 { x : .x + 1 } else { x : .x - 1 } x : .x * 2Conceptually, this code just looks at the variable mode and in the case that it's 0, the code performs addition. However, if mode is not 0, then it performs subtraction. In either case, the multiplication is performed.
Notice that the operator that is used to compare
mode
to 0 is the
==
operator.
The single instance of the equal sign (=) does not do anything in
Tranquility.
However, the double equal sign (==) signifies comparison.
Remember this.
It will be the same for many of the languages you will learn.
To understand how this works, we'll break it down into steps like those performed by the computer when executing this code:
We won't go through the details of how this would be
implemented on the actual CARDIAC.
(Hint: If mode is non-negative and 0-mode is also non-negative,
then we know it's equal to 0.)
Instead, we're going to pretend that there's another instruction
in the CARDIAC that we'll call
TAZ
.
This instruction is much like
TAC
except that
the jump occurs if the accumulator is 0.
We're also going to take advantage of an aspect of the
JMP
instruction that we haven't used before.
In particular, the
JMP
instruction not only changes
the PC to point to a new instruction, but it also saves the old PC
so that we can pick up where we left off.
With that in mind, we can implement the steps of the
if
statement as follows:
if CLA mode TAZ istrue JMP dostep JMP endif istrue JMP clearinterval endif
x
?
var x,y x : 5 y : 7 if .x > .y { if .y == 8 { x : .y } else { x : .x + 1 } } else { if .y < 10 { x : .x - 1 } else { x : .y + 2 } }


Home
Sponsors
Events
About Us
Menu
Home
Sponsors
Events
About Us
Sponsors
The people that made this possible.
Check them out!
Check them out !


the and chromosome genome that species are The for with chromosomes mammalian painting []. human from evolution was comparative {background have were karyotype ancestral most margin chromosomes. data mouse number phylogenetic {border-style banding between new DNA different found not probes px;} #ffffff;} regions sex chromosomal genomes has many some all can homologous mammals rearrangements revealed evolutionary high more (Figure Genome associations may molecular other sequencing two which (Eutheria, Chromosome Figure analysis based species. these Afrotheria [], cytogenetic maps than this HSA homology karyotypes large order rates rodents syntenic Comparative among approaches been both centromeres cytogenetics eutherian evolution. genomic our possible px; rat reconstruction resolution segments such techniques used {font-family African B-chromosomes Idiogram This [,]. basis conserved diploid even font-size heterochromatin mammals. multiple obtained placental present related relationships rodent sequences should species, studies their tree use very when Although Biol C-banded Laurasiatheria, Mammalian Mus Orycteropus These [-]. any association blocks characteristic common cytogenetics. derived distant double; humans hybridization into mapping murine often platypus recent red set similar studied using where within (genus Acad Equus European However, Hylobates Mustela Natl OAF OCU Oryctolagus Red Res./s--- Siberian aardvark, also birds bold border-color border-width but closely conservation considered content domestic extremely field first gene group heterochromatic highly its method multicolor now numbers only orders origin paints particular pattern patterns provide results several signatures solid; structure support there three useful whole will {font-style {font-weight Another Bat, CFA Canis FISH G-banding Genet Human Metaphase Monodelphis Myotis Res./gr. Sci Sorex World about addition additional afer after alignments allowed amount ancestor appearance araneus assemblies avian because canine chicken chromosomes, clades completely courier; cytogenetics, data. detected distribution due elephant, em; events evidence example, extant fragments gallus genes genome. golden great hamster history homologies human, identified important includes inferred inversions karyotypic lead makes mcb mole morphological opossum organization paintingChromosome proposed provided pt;} putative rapid rat, showed shown sister size spread squirrel, still study supported thus various


IS_2 - Anonymous Message Board
API Tests:
New thread (POST /api/threads/:board)
Report thread (PUT /api/threads/:board)
Delete thread (DELETE /api/threads/:board)
New reply (POST /api/replies/:board)
Report reply (PUT /api/replies/:board)
Delete reply (DELETE /api/replies/:board)


Configure Nginx with the initial settings
Open a terminal on your Raspberry Pi or connect to the Raspberry Pi using SSH and run:


Data generation in the Pattern Recognition Toolbox
The Pattern Recognition Toolbox provides a set of data generation functions for illustrating typical data sets in pattern recogntion. Many of these data sets are two dimensional, and are used extensively in the documentation and help entries, primarily to aid in visualization. For example:
ds = prtDataGenSpiral; % Load a two dimensional data set, with 2 classes, % both drawn from a spiral distribution plot(ds)
The above example loads a data set and plots it. Several data generation functions exist for both classification and regression problems, with a varying number of features and classes. For a list of these functions, please refer to data generation functions


Iran's Rouhani using Twitter diplomacy
Western social media sites are outlawed for ordinary Iranians, but Iran's new government is using them keenly in a concerted drive to improve the Islamic republic's image.
Spearheading the cyber charm offensive is the president, Hassan Rouhani, and his US-educated foreign minister, Mohammad Javad Zarif, who garnered global attention last week when he used his new English-language Twitter account to wish Jews a happy new year and to proclaim that his country does not deny the Holocaust.
A day earlier, a tweet from an account in Mr Rouhani's name wished "all Jews" a "blessed" new year on the holiday of Rosh Hashanah. Iran's entire cabinet has also opened Facebook pages in recent weeks.
The public diplomacy drive is preparing the ground for key events. Tehran is due in coming weeks to resume talks on its nuclear programme with six world powers, including the United States. Mr Rouhani, who is regarded as a moderate pragmatist, transferred the handling of those negotiations last week to Mr Zarif's foreign ministry, taking the portfolio away from hardline officials.
And later this month, Mr Rouhani will make his debut on the international stage when he addresses the United Nations General Assembly in New York.
The Jewish new year greetings were clearly aimed at distancing his administration from that of his predecessor. Mahmoud Ahmadinejad's denials of the Holocaust made him toxic to western public opinion, fuelled fears over Tehran's nuclear ambitions and embarrassed many Iranians.
"The Rouhani team is eager to quickly undo the eight years of damage that the Ahmadinejad government did to Iran's standing and image," said Trita Parsi, the president of the National Iranian American Council, an advocacy group. "In this new age, you can at times reach more people through a tweet than through a press release, and Rouhani and Zarif have shown that they know that."
On his Facebook page, which has 150,000 likes, Mr Zarif has also nudged Iran's public stance on Syria - a long-standing Tehran ally - in a more moderate direction. He condemned the use of chemical weapons by any side in the civil war while urging the US not to attack Syria.
Nearly all of the candidates in Iran's presidential election in June, hardliners included, used social media as a campaign tool. "Now Rouhani and Zarif are using them for the new president's approach of engagement and moderation," said Scott Lucas, an Iran expert at Birmingham University in England.
Mr Zarif's Twitter page, launched last Wednesday, already has 15,000 followers.
The new year messages received wide and mostly positive coverage in leading US media. CNN's Christiane Amanpour tweeted enthusiastically last Thursday that she had just spoken to Mr Zarif, who confirmed "that he is tweeting and wishes Jews in Iran and around the world a happy new year".
Mr Zarif reinforced those messages in a polite and lively exchange on Twitter with Christine Pelosi, the daughter of Nancy Pelosi, the Democratic minority leader of the US house of representatives, during which he said: "Iran never denied it [the Holocaust]. The man who was perceived to be denying it is now gone."
Their friendly interaction in cyberspace was remarkable, given that Tehran has not had diplomatic relations with Washington for more than three decades.
However, Suzanne Maloney, an Iran expert at the Saban Center at the Brookings Institution in Washington, struck a sceptical note about Iran's flirtation with social media. "Mr Rouhani deserves real credit for beginning to change the discourse of Iranian politics," she said.
"Still, the media frenzy over a handful of tweets seems a bit excessive. Iran's Islamic Republic has managed to maintain the largest population of Jews in the Middle East living outside the state of Israel, and its leadership has been known to issue munificent statements toward the community on a semi-regular basis."
Facebook and Twitter are the most popular social networking sites in Iran, just two among many that the regime blocks or filters. Millions of tech-savvy Iranians flout the ban by using anti-filtering tools and proxy servers.
Many Iranian officials, including the supreme leader, Ayatollah Ali Khamenei, have a presence, albeit mostly unofficial, on western social media. But the Rosh Hashanah tweets have ignited a debate in Iran's ruling establishment over whether officials should use such tools.
Some hardliners are strongly opposed.
Iran imposed a ban on Facebook after the disputed re-election of Mr Ahmadinejad in 2009, when his opponents used social media to organise protests.


Ronn's website
Navigation
Home
About
Contact
EA 29th/30th March 2021
CA1a
Home page
This website contains the documentation, assignments and project write-up for my life.


{% include schedule/intro.html date='8 Novembre' %}
{% include schedule/header.html tracks='1' %}
{% include schedule/event.html time='9.15-9.45' title='Check-in' fill='true' %}
{% include schedule/event.html time='9.45-9.55' title='Presentazione GrUSP' fill='true' %}
{% include schedule/talk.html time='10.00-10.45' title='La Unix Way vista da un DevOps.' fill='true' %}
{% include schedule/talk.html time='10.50-11.20' title='Provisioning di container Docker usando Ansible: the good, the bad and the ugly' fill='true' %}
{% include schedule/pause.html time='11.20-11.45' title='Coffee break' icon="coffee" fill='true' %}
{% include schedule/talk.html time='11.45-12.15' title='State of Windows Containers, how to modernise your IT for Windows Applications' fill='true' %}
{% include schedule/talk.html time='12.20-12.50' title='Deploy e monitoring di un RabbitMQ cluster su Kubernetes' fill='true' %}
{% include schedule/talk.html time='12.55-13.25' title='Multi container applications with Docker Compose' fill='true' %}
{% include schedule/pause.html time='13.25-14.30' title='Lunch' icon="food" fill='true' %}
{% include schedule/talk.html time='14.30-15.00' title='Cloud Native for the Edge Computing' fill='true' %}
{% include schedule/talk.html time='15.05-15.35' title='Containerization of parallel MPI and accelerated applications on HPC systems' fill='true' %}
{% include schedule/talk.html time='15.40-16.10' title='Kubeflow - Data Science on Steroids' fill='true' %}
{% include schedule/pause.html time='16.10-16.30' title='Coffee break' icon="coffee" fill='true' %}
{% include schedule/talk.html time='16.30-17.00' title='Writing Cloud-Native Applications for Kubernetes' fill='true' %}
{% include schedule/talk.html time='17.05-17.35' title='The path to a Serverless-native era with Kubernetes' fill='true' %}
{% include schedule/event.html time='17.35-17.45' title='Bye bye from GrUSP' fill='true' %}
{% include schedule/header.html track='1' %}
{% include schedule/event.html time='9.15-9.45' title='Check-in' fill='true' %}
{% include schedule/event.html time='9.45-9.55' title='Presentazione GrUSP' fill='true' %}
{% include schedule/talk.html time='10.00-10.45' title='La Unix Way vista da un DevOps.' fill='true' %}
{% include schedule/talk.html time='10.50-11.20' title='Provisioning di container Docker usando Ansible: the good, the bad and the ugly' fill='true' %}
{% include schedule/pause.html time='11.20-11.45' title='Coffee break' icon="coffee" fill='true' %}
{% include schedule/talk.html time='11.45-12.15' title='State of Windows Containers, how to modernise your IT for Windows Applications' fill='true' %}
{% include schedule/talk.html time='12.20-12.50' title='Deploy e monitoring di un RabbitMQ cluster su Kubernetes' fill='true' %}
{% include schedule/talk.html time='12.55-13.25' title='Multi container applications with Docker Compose' fill='true' %}
{% include schedule/pause.html time='13.25-14.30' title='Lunch' icon="food" fill='true' %}
{% include schedule/talk.html time='14.30-15.00' title='Cloud Native for the Edge Computing' fill='true' %}
{% include schedule/talk.html time='15.05-15.35' title='Containerization of parallel MPI and accelerated applications on HPC systems' fill='true' %}
{% include schedule/talk.html time='15.40-16.10' title='Kubeflow - Data Science on Steroids' fill='true' %}
{% include schedule/pause.html time='16.10-16.30' title='Coffee break' icon="coffee" fill='true' %}
{% include schedule/talk.html time='16.30-17.00' title='Writing Cloud-Native Applications for Kubernetes' fill='true' %}
{% include schedule/talk.html time='17.05-17.35' title='The path to a Serverless-native era with Kubernetes' fill='true' %}
{% include schedule/event.html time='17.35-17.45' title='Bye bye from GrUSP' fill='true' %}
{% include index/newsletter.html %}
{% include index/sponsors.html %}


--- layout: page title: Tags description: A page with tag cloud and display of articles tagged theme: red ---


Wifi info is on the whiteboard.
To get the slides:
paulinehimics.github.io/gdi-wilm-photoshop/index.html
Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Some "rules"
Raster:
Vector:
Under the Photoshop menu.
Saved arrangements of:
Roll your own!
(In the Window menu)


WELCOME TO
GLAU CLUB STORE
Invalid Name
Invalid Email
Invalid Number
Password too short
Password does not match
create account
Already registered ?
Login
Incorrect Username
Incorrect Password
login
Not Registered ?
Register
Forgot Password ?
Forgot
Submit
>


AMSS (Avestia Manuscript Submission System) is a article submission system created for Avestia Publishing.
The goal of this project was to redesign the web application to follow the brand and make it more user friendly. The project was created along with a programmer who developed the application, while I designed the front-end.
Website


Welcome to the Online Chat application!
Log In
Username
Password
Sign Up
Username
Password
Confirm Password


Data for the future of food
JourneyAI helps food companies operate faster.
Join NowLet us do the research for you by sending custom insights and articles for any ingredient in your portfolio directly to your inbox.
JourneyAI analyzes millions of ingredients attributes to help you discover the perfect ingredient for any product.
The JourneyAI Dashboard provides an easy platform to organize your R&D. No more lost notes or glitchy excel sheets.
Upload existing products to get nutrient insights and enhancement suggestions based on your product goals and customer needs.
The Dashboard is your go-to hub for developing products with data and research, designed from the ground up to replace the old, clunky systems of the past.
Our unique approach puts nutrition, sustainability, and cost at the forefront of product development, helping you formulate products according to specific consumer and company goals.
We feed data from dozens of sources to the JourneyAI database to enable a product development experience that surpasses the precision and speed of traditional teams.
Total Time:
Time Savings:
GuD used JourneyAI to launch a new line of protein bars and couldn’t believe how quickly they were able to get product on shelves.
“We were amazed how robust JourneyAI was for helping us target a very specific nutritional profile. It easily saved us months in research and development time.”
— Corrie Sims , Founder


“The Wog Boy” of Australia warns other comedians to stop using the word “wog”
by GCTGreek Australian actor and comedian, Nick Giannopoulos has warned other comedians to stop using the word “wog”, stating that he would take legal action if they use that phrase to promote their shows.
The comments were made to The Herald Sun on Saturday, explaining that “My trademarks are wogs or wogboys… My lawyers have been hired by me to protect my trademark.”
“The Wog Boy” of Australia added that “the government ruled in my favour in the mid-90s saying the word “wogs” is associated with my previous shows…They granted me that trademark so that I could protect my business interests.”
Nick Giannopoulos rose to fame after playing the character of Jim on the 1990s sitcom Acropolis Now, whom he stared alongside Mary Coustas, who played his cousin known as Effie Stephanides.
In 2017 during an interview with radio hosts Kyle and Jackie O, he revealed that he trademarked the phrase because he “wanted to take that word, that word that had been used against me my whole childhood, and claim ownership of it…The word I hated the most in the world, I now own.”
Nick has also stared in the film ‘The Wog Boy’ (2000) and sequel ‘Wog Boys 2: Kings of Mykonos’ (2010) and had many successful stage shows including Wog Boys, Wog-A-Rama, Wog Story and Star Wogs.
Source: Herald Sun
Share this article.
- 40
- 2


City’s New Coach Bringing Swag to the PSL
by Delmain FaverCape Town City have announced the appointment of Jan Olde Riekerink, after the club terminated the contract of Benni McCarthy.
Not only is the Dutchman bringing his vast experience to Mzansi, he is also bring his swag and style, with the likes of Rulani Mokwena and Steve Komphela having competition both on and off the pitch.
The 56-year-old has an impressive CV, and has been at the helm in some of the biggest dugouts in world football.
Download The Soccer Laduma Social Media App & Earn Airtime for Selfies!
Taking on a new challenge in unchartered territory, the former Galatasary, Ajax Amsterdam and FC Porto manager will have his work cut out at City.
Off the field, the grey-haired manager has swag and pizzazz, with his tailored suits sure to turn heads on the touchline.
Check out some of his most dapper looks above.
Do you think that Riekerink can take Cape Town City to the next level?


--- layout: page title: Papers description: A list of my preprints, published papers, and theses. permalink: /papers/ ---
Alex Bishop (2023). "On groups whose cogrowth series is the diagonal of a rational series." arXiv:2301.07589
Alex Bishop (2021). "Geodesic Growth in Virtually Abelian Groups." DOI: 10.1016/j.jalgebra.2020.12.003. Published in Journal of Algebra. [Additional link: arXiv:1908.07294]
Alex Bishop and Murray Elder (2020). "A virtually 2-step nilpotent group with polynomial geodesic growth." DOI: 10.12958/adm1667. Published in Algebra and Discrete Mathematics. [Additional link: arXiv:2007.06834]
Alex Bishop and Murray Elder (2019). "Bounded Automata Groups are co-ET0L." DOI: 10.1007/978-3-030-13435-8_6. In conference proceedings of LATA 2019. [Additional link: arXiv:1811.10157]
Alex Bishop (2021). "Geodesic Languages and Co-Word Problems over Groups." PhD Thesis. University of Technology Sydney. https://github.com/alexbishop/phd-thesis
Alex Bishop (2017). "Geodesic Growth of the Fabrykowski-Gupta Group." Honours Thesis. University of Newcastle, Australia. https://github.com/alexbishop/honours-thesis


All life is an experiment. The more experiments you make the better.
I remember playing games as a little girl and always judging games on how good the water looked LOL. #LakeRidden
How to stop negative thoughts from sabotaging your success http://on.forbes.com/6012Dw9RC
#New Profile Pic


SOMMERSBY A film review by Gregory N. Bond Copyright 1993 Gregory N. Bond
(This has just opened in Australia - it may be old news for the rest of you.)
This film is basically a reworking of the film THE RETURN OF MARTIN GUERRE which in turn taken from the book THE WIFE OF MARTIN GUERRE, which in turn is a dramatisation of real court records dating from the French 100 years war around A. D. 1350. Rather than set in medieval France, the setting is the southern United States just after the end of the United States Civil War. John Sommersby (Gere), an apparently cruel and cold man and the richest man in the local area, has gone off to the war. He has been missing six years, and, just as his wife (Foster) is preparing to remarry, a man who may or may not be her husband returns to claim his wife, his property and the loyalty of the local town. He has obviously been changed by four years in a prison camp; his wife finds the new Mr. Sommersby a much more attractive person and falls in love with him in a way she never had before he went to war. The film climaxes in a court case where Sommersby is charged with a murder committed some time earlier. Should he be proved to *not* be Sommersby he would get off, otherwise he will hang. Is he really Sommersby? Would he pretend not to be in order to get off?
This film is in large part a story of the (re-)discovered romance between Foster and Gere. The crux of the film is the uncertainty around the identity of Gere's character. Both leads handle the strong ambiguity in the relationship well, and the developing affection is well told. The audience is not absolutely certain whether Gere is or is not the actual Sommersby until the end (although the hints are pretty obvious). It is this ambiguity that gives the film its power and appeal. The final court case, where the questions of loyalty, love, betrayal and identity are exposed, is powerfully moving.
Acting from the supporting cast is excellent, including James Earl Jones as the judge in the climactic court case. Gere, despite his reputation, succeeds in conveying the pain, the turmoil and the ambiguity. We the audience really feel for his character and understand his motives in the final scenes (quite unexpected from Hollywood, and potentially very unconvincing). Foster is brilliant in conveying the love, the doubt, the faith. Also very impressive is the photography - the landscapes, the scenery is spectacular. Go and see it on the wide screen; much of the impact will be lost on the video.
One thing that was definitely surprising was the audience reaction. One of the witnesses in the court case is a true son of the south and a "nigger-hater." He insults the (black) judge and gets sixty days in "our sadly uncomfortable correctional facility." At that point, the whole audience cheered and clapped. Obviously, we're all very Politically Correct.
Rating: On a scale of 1-10, I give it a B+. Go and see it on the wide screen.
[Spoilers follow]
Unlike (I believe) the original story, where the real Guerre turns up in the court case and it all ends in an anticlimax, the real Sommersby is dead (buried during the opening credits), and the imposter admits it to his wife. This is after he has proved to the judge that he is the real Sommersby, and been sentenced to hang.  This came as a bit of a shock, as I expected the usual Hollywood happy-ever-after ending, and was (in the back of my mind) considering how they might get out of the developing situation. To the credit of the director (British, not American!), he stuck to the artistically correct ending and wasn't pressured into diluting it, and the film is much more powerful because of it. And despite expectations, the end is actually quite uplifting, thanks in no small part to the strength of Gere's acting in portraying the noble nature of a liar and cheat grappling with honesty and love for the first time.
--
Gregory Bond
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends "layout.html" %} {% block page_title %} Data returns sandbox {% endblock %} {% block content %} Back to sandbox contents Pollution inventory report Prototype change log Version 1.2: Waste Check your details Permit number Site address Contact address Update contact address Check site codes NACE code NOSE-P code E-PRTR code Report your data Releases to air Releases to land Releases to controlled waters Off-site transfers in waste water More detail Check Off-site waste transfers Overseas waste transfer index What? Quantity Operation Method Business address Site address Confirmation Check and submit your report Share your data Public contact information Number of staff Annual operating hours Check your data Submit your report Confirmation {% endblock %}
Back to sandbox contents
Prototype change log


{# Base layout for all pages
## Analytics
The service https://plausible.io is used to gather simple
and privacy-friendly analytics for the site. The dashboard can be accessed
at https://analytics.scientific-python.org/docs.scipy.org
The Scientific-Python community is managing the account.
#}
{% extends "!layout.html" %}
{# ================ #}
{# Extending Header #}
{# ================ #}
{% block extrahead %}
{{ super() }}
{% endblock %}
{# ================ #}
{# Extending Footer #}
{# ================ #}
{% block footer %}
{# #}
{% endblock %}


iterami
/
Guides.htm
/
EVE Online
/Prophecy
Fittings:
UNDOCK-CHEAP
UNDOCK-EXPENSIVE
UNDOCK-MAX
Fittings
Code
Notes
Undock Cheap
[Prophecy, UNDOCK-CHEAP] Medium Armor Repairer II Damage Control II 1600mm Steel Plates II 800mm Steel Plates II 800mm Steel Plates II Multispectrum Energized Membrane II Multispectrum Energized Membrane II Alumel-Wired Enduring Sensor Booster Alumel-Wired Enduring Sensor Booster Alumel-Wired Enduring Sensor Booster Alumel-Wired Enduring Sensor Booster Civilian Gatling Pulse Laser Drone Link Augmentor II Prototype Cloaking Device I Salvager II Small Tractor Beam II Medium Trimark Armor Pump I Medium Trimark Armor Pump I Medium Trimark Armor Pump I Federation Navy Hammerhead x5 Federation Navy Hobgoblin x10 Federation Navy Ogre x5 Scan Resolution Script x4 Targeting Range Script x4
Undock Expensive
[Prophecy, UNDOCK-EXPENSIVE] Centum A-Type Medium Armor Repairer Sentient Damage Control Imperial Navy 1600mm Steel Plates Imperial Navy 800mm Steel Plates Imperial Navy 800mm Steel Plates Centum A-Type Multispectrum Energized Membrane Centum A-Type Multispectrum Energized Membrane Sentient Sensor Booster Sentient Sensor Booster Sentient Sensor Booster Sentient Sensor Booster Civilian Gatling Pulse Laser Black Eagle Drone Link Augmentor Caldari Navy Cloaking Device Salvager II Small Tractor Beam II Medium Trimark Armor Pump II Medium Trimark Armor Pump II Medium Trimark Armor Pump II Federation Navy Hammerhead x5 Federation Navy Hobgoblin x10 Federation Navy Ogre x5 Scan Resolution Script x4 Targeting Range Script x4
Undock Max
[Prophecy, UNDOCK-MAX] Centum A-Type Medium Armor Repairer Cormack's Modified Damage Control Imperial Navy 1600mm Steel Plates Imperial Navy 800mm Steel Plates Imperial Navy 800mm Steel Plates Chelm's Modified Multispectrum Energized Membrane Chelm's Modified Multispectrum Energized Membrane Cormack's Modified Sensor Booster Cormack's Modified Sensor Booster Cormack's Modified Sensor Booster Cormack's Modified Sensor Booster Civilian Gatling Pulse Laser Unit W-634's Modified Drone Link Augmentor Estamel's Modified Cloaking Device Salvager II Small Tractor Beam II Medium Trimark Armor Pump II Medium Trimark Armor Pump II Medium Trimark Armor Pump II Federation Navy Hammerhead x5 Federation Navy Hobgoblin x10 Federation Navy Ogre x5 Scan Resolution Script x4 Targeting Range Script x4


North Tech Work - Welcome
Click here to sign out.
Already have an account? Sign In Here!
Need an account? Sign Up Here!
Secret info for all signed-in users
Secret info for authorized users only
Super-secret info for administrators only


session_id
(PHP 4, PHP 5, PHP 7)
session_id — 获取/设置当前会话 ID
说明
string session_id ([ string $id ] )
session_id() 可以用来获取/设置当前会话 ID。
为了能够将会话 ID 很方便的附加到 URL 之后，你可以使用常量 SID 获取以字符串格式
表达的会话名称和 ID。请参考会话处理。
参数
id
如果指定了 id 参数的值，则使用指定值作为会话 ID。必须在调用 session_start()
函数之前调用 session_id() 函数。不同的会话管理器对于会话 ID 中可以使用的字
符有不同的限制。例如文件会话管理器仅允许会话 ID 中使用以下字符：a-z A-Z 0-9
, （逗号）和 - （减号）
Note: 如果使用 cookie 方式传送会话 ID，并且指定了 id 参数，在调用
session_start() 之后都会向客户端发送新的 cookie，无论当前的会话 ID 和新
指定的会话 ID 是否相同。
返回值
session_id() 返回当前会话ID。如果当前没有会话，则返回空字符串（""）。
参见
• session_regenerate_id() - 使用新生成的会话 ID 更新现有会话 ID
• session_start() - 启动新会话或者重用现有会话
• session_set_save_handler() - 设置用户自定义会话存储函数
• session.save_handler
User Contributed Notes 20 notes
===============================================================================
It may be good to note that PHP does not allow arbitrary session ids. The
session id validation in PHP source is defined in ext/session/session.c in the
function php_session_valid_key:
https://github.com/php/php-src/blob/master/ext/session/session.c
To put it short, a valid session id may consists of digits, letters A to Z
(both upper and lower case), comma and dash. Described as a character class, it
would be [-,a-zA-Z0-9]. A valid session id may have the length between 1 and
128 characters. To validate session ids, the easiest way to do it use a
function like:
0;
}
?>
session_id() itself will happily accept invalid session ids, but if you try to
start a session using an invalid id, you will get the following error:
Warning: session_start(): The session id is too long or contains illegal
characters, valid characters are a-z, A-Z, 0-9 and '-,'
===============================================================================
session_id() URL-decodes the session value. For example let's say we use
setcookie() to push a cookie down to a web browser. When the browser makes the
next page request the browser sends the cookie back up to us with headers like
this: Cookie: PHPSESSID=enGHumY%2C-2De-F-TDzNHVmE%2ChY5;
If we use session_id() to read the cookie it will output a value of this:
enGHumY,-2De-F-TDzNHVmE,hY5
The two values don't match! Use either setrawcookie() or URL encode if you
wish to match the original value.
===============================================================================
I was perplexed by inconsistent results with the session ID depending on
whether I retrieve it using SID, COOKIE, or session_id(). I have found that
session_id() is the most reliable method, whereas SID and COOKIE
["PHPSESSIONID"] are sometimes undefined.
I used this simple script to quickly test the problem on my servers:
session_id(): ".session_id()."
COOKIE: ".$_COOKIE[
"PHPSESSID"];
?>
Regardless of browser I see the COOKIE undefined on the first load and the
other two defined, then SID is empty on subsequent reloads and COOKIE is
defined, but session_id() is always defined.
If I insert the session_regenerate_id() method that jeff_zamrzla gives below
the refresh the page, I get a new session_id() but the COOKIE value is
initially the prior session_id() until I hit refresh a second time. So again,
session_id() proves to be the most reliable method.
It's probably not a bug since I found the behaviour to be consistent in PHP
versions 5.2.14, 5.3.3 and 5.3.4, but I can't figure what I'm missing and
hopefully this will help others who run into this.
===============================================================================
Gosh, took a LOOONG time to figure this one out! If you have suhosin built into
your PHP and can't get sessions to work after changing the session id through
session_id(), try turning off suhosin's session encryption option in php.ini
with:
suhosin.session.encrypt=Off
===============================================================================
The documentation for session_id is incomplete when it says:
"For example, the file session handler only allows characters in the range a-z,
A-Z and 0-9!".
It is untrue when changing the default for the session.hash_bits_per_character
as Colin said. session_id may therefore contain "-" and ",".
http://fr.php.net/manual/en/session.configuration.php
===============================================================================
Length of PHPSESSID appears to be 32 characters by default.
===============================================================================
Get a shared session.
Sometimes is good can interchange messages and vars between one session and
another, but PHP dont support this. I create this script that allows with
session_id() change from current session to shared session (this is, info with
scope to all sessions) for read and write info and back in to user session. The
code:
Value: ".rand(0,100)."
SessionID: $id
";
//Save the superglobal
set_global("test",$test);
//Show the superglobal
foreach($test as $t){
echo $t;
}
echo "Reloads = ".$_SESSION['count'].", This my color";
exit;
?>
===============================================================================
Note that Firefox and Mozilla use the same process for launching new windows or
tabs, they will pick up the same session id as the previous windows until the
parent process dies or is closed. This may cause undesired results if the
session id is stored in a db and checked, a solution is to check at the new
entry point (new tab or window if the user went back to the index page) for an
existing session. If a session id exists and a new one is required use
something like:
===============================================================================
If you look at the notes on cookies (set_cookie I think), you will see that you
can not read a cookie on the page that it is set. That is because the cookies
are sent with the page request which comes, of course, before your PHP is run.
You have to wait until the next page request from the same source to read the
cookie.
===============================================================================
The higher you set session.hash_bits_per_character the shorter your session_id
will become by using more bits per character. The possible values are 4, 5, or
6.
When using sha-1 for hashing (by setting ini_set('session.hash_function', 1)
the following session string lengths are produced by the three
session.hash_bits_per_character settings:
4 - 40 character string
5 - 32 character string
6 - 27 character string
It would seem desirable to use sha-l with 5 bits_per_character because this
will emulate a standard 32 character md5 string and make a would-be attacker
think that is what you're hashing with.
===============================================================================
Regarding Colin's comment, note that setting hash_bits_per_character to 5
results in characters ranging from 0-9 and a-v. Most attackers would be wise
enough to realize what was going on when they saw a letter in g-v. The
probability of not seeing a letter in g-v is somewhere around 2^-32.
===============================================================================
About the note from Cybertinus :
The following test doesn't work, the code following is always executed :
===============================================================================
Rewriting URL's is not suggested for obvious security issues. Please be careful
with register_globals when using sessions! Check that all information you
recieve from a user is valid before accepting it!
===============================================================================
In response to simon at quo dot com dot au:
The PHPSESSID is produced using an hash function. By default, it uses MD5 which
produces 128 bits long (i.e: 16 bytes long) hashes.
But, since some bytes' values may not be used in the HTTP header, PHP outputs
the hash in its hexadecimal representation, thus resulting in a 32 bytes long
text.
Starting with PHP 5.0, you can change the hash function used (by setting
"session.hash_function" to whatever function you want to use in php.ini).
You may for example set it to 1 to switch to SHA-1 which produces 160 bits (20
bytes) long hashes.
Please also note that another setting was introduced in PHP 5
(session.hash_bits_per_character) which sort of "compresses" the hash. Thus,
resulting in what seems to be a shorter hash.

More information on those settings is provided on:
http://www.php.net/manual/en/ref.session.php
===============================================================================
I had a lot of trouble with session_regenerate_id() as it did not regenerate...
Session_id() stayed the same no matter what (unless closing the window). I
wanted to have different sid and empty vars for each session/page meeting a
condition for security reasons. Finally, this worked:
Now you get different sid and session variables empty for each session_start if
condition is met (i.e. user hits refresh on user/password form, which I needed
badly :). Hope this helps someone out there.
Env: localhost
Note: condition is mandatory, otherwise it destroys on each load.
===============================================================================
This can looks obvious, but as me, you can spend some hours to make a simple
session work between different browsers and devices. These are the basics for
me, but you can build upon.
===============================================================================
you can also add the iframe tag:
ini_set("url_rewriter.tags", "a=href,area=href,frame=src,iframe=src,input=
src,form=fakeentry");
===============================================================================
In php version 5.3.2 in my case each time a new session-id was generated after
session_start() but all was working before correctly in previous versions. So I
lost data from my current session (wrong session-id). There was always a $_POST
or $_GET or $_COOKIE available with the session-name and session-id, so
session_start() was taken this automatically. Now I have to execute session_id
(..old id ..) before session_start() and a session is started for the same id.
===============================================================================
IMPORTANT NOTE:
If you assign a specific session ID to a user in your applet, then do not run
the following code either while logout,
session_regenerate_id(TRUE);
USE:
session_regenerate_id(); instead.
OTHERWISE, setting the session id will no longer works for that user.
===============================================================================
Try this code snippet, from a book by a security expert who says this is more
secure to place on every page: