READ
Section: Linux Programmer's Manual (2)Updated: 2009-02-23
Index Return to Main Contents
NAME
read - read from a file descriptorSYNOPSIS
#include <unistd.h> ssize_t read(int fd, void *buf, size_t count);
DESCRIPTION
read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.If count is zero, read() returns zero and has no other results. If count is greater than SSIZE_MAX, the result is unspecified.
RETURN VALUE
On success, the number of bytes read is returned (zero indicates end of file), and the file position is advanced by this number. It is not an error if this number is smaller than the number of bytes requested; this may happen for example because fewer bytes are actually available right now (maybe because we were close to end-of-file, or because we are reading from a pipe, or from a terminal), or because read() was interrupted by a signal. On error, -1 is returned, and errno is set appropriately. In this case it is left unspecified whether the file position (if any) changes.ERRORS
- EAGAIN
- The file descriptor fd refers to a file other than a socket and has been marked non-blocking (O_NONBLOCK), and the read would block.
- EAGAIN or EWOULDBLOCK
- The file descriptor fd refers to a socket and has been marked non-blocking (O_NONBLOCK), and the read would block. POSIX.1-2001 allows either error to be returned for this case, and does not require these constants to have the same value, so a portable application should check for both possibilities.
- EBADF
- fd is not a valid file descriptor or is not open for reading.
- EFAULT
- buf is outside your accessible address space.
- EINTR
- The call was interrupted by a signal before any data was read; see signal(7).
- EINVAL
- fd is attached to an object which is unsuitable for reading; or the file was opened with the O_DIRECT flag, and either the address specified in buf, the value specified in count, or the current file offset is not suitably aligned.
- EINVAL
- fd was created via a call to timerfd_create(2) and the wrong size buffer was given to read(); see timerfd_create(2) for further information.
- EIO
- I/O error. This will happen for example when the process is in a background process group, tries to read from its controlling tty, and either it is ignoring or blocking SIGTTIN or its process group is orphaned. It may also occur when there is a low-level I/O error while reading from a disk or tape.
- EISDIR
- fd refers to a directory.
Other errors may occur, depending on the object connected to fd. POSIX allows a read() that is interrupted after reading some data to return -1 (with errno set to EINTR) or to return the number of bytes already read.
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.NOTES
On NFS file systems, reading small amounts of data will only update the timestamp the first time, subsequent calls may not do so. This is caused by client side attribute caching, because most if not all NFS clients leave st_atime (last file access time) updates to the server and client side reads satisfied from the client's cache will not cause st_atime updates on the server as there are no server side reads. Unix semantics can be obtained by disabling client side attribute caching, but in most situations this will substantially increase server load and decrease performance.Many file systems and disks were considered to be fast enough that the implementation of O_NONBLOCK was deemed unnecessary. So, O_NONBLOCK may not be available on files and/or disks.
SEE ALSO
close(2), fcntl(2), ioctl(2), lseek(2), open(2), pread(2), readdir(2), readlink(2), readv(2), select(2), write(2), fread(3)COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
Index
This document was created by man2html, using the manual pages.
Time: 05:33:04 GMT, December 24, 2015


See: Description
| Interface | Description |
|---|---|
| RemoteDirectory |
Represents a directory that is the working directory of a workflow run, or a
sub-directory of it.
|
| RemoteDirectoryEntry |
An entry in a
RemoteDirectory representing a file or sub-directory. |
| RemoteFile |
Represents a file in the working directory of a workflow instance run, or in
some sub-directory of it.
|
| RemoteInput |
This represents the assignment of inputs to input ports of the workflow.
|
| RemoteListener |
An event listener that is attached to a
RemoteSingleRun . |
| RemoteRunFactory |
The main RMI-enabled interface for creating runs.
|
| RemoteSecurityContext |
Outline of the security context for a workflow run.
|
| RemoteSingleRun |
| Enum | Description |
|---|---|
| RemoteStatus |
States of a workflow run.
|
| Exception | Description |
|---|---|
| IllegalStateTransitionException |
Exception that indicates where a change of a workflow run's status is
illegal.
|
| ImplementationException |
Exception that indicates that the implementation has gone wrong in some
unexpected way.
|
| StillWorkingOnItException |
Exception that indicates that the implementation is still working on
processing the operation.
|
Copyright © 2015–2018 The Apache Software Foundation. All rights reserved.


{% if dataset.status == 2 or dataset.status == 3 or dataset.status == 4 %}
Hang in there! It looks like there is currently task in progress for this dataset, hopefully it will just take a minute. Reload this page to update the status. Tasks automatically time out after 10 minutes.


Condenser
Dynamic
Condenser
Dynamic
From the high resolution audio page on Sony.com
From the high resolution audio page on Technics.com
uncompressed WAVE - 2.5 MB
320 kbps MP3 - 563 KB [x4.4 factor] - Fs = 44.1 kHz
128 kbps MP3 - 225 KB [x11.1 factor] - Fs = 44.1 kHz
96 kbps MP3 - 169 KB [x14.8 factor] - Fs = 44.1 kHz
16 kbps MP3 - 29 KB [x86.2 factor] - Fs = 8 kHz
Moon Audio - Sliver Dragon XLR interconnect
Cardas - Clear Beyond Speaker Cable
Siltech Cables - Emperor Double Crown Speaker Cable


Singed-ups
This page shows the websites you have signed up so far. The list is made by filtering duplicates out from the used personally identifiable information such as id, password, or email address.
Site
Used Information
Accesses
Latest Access


Friends
Compose New Message
{if logged_out} {embed="%prefix%inc/login"} {if:else} {embed="%prefix%inc/control_column"}
{exp:friends:mine reciprocal="y"}
{if friends_no_results}
{/exp:friends:message_form}
{/if}
You currently have no friends. You'll need to make some friends (friend requests at minimum) before you can send someone a message!
{/if}
{/exp:friends:mine}
{exp:friends:message_form return="%prefix%messages" notification_template="%prefix%notifications/new_message"}
Select Recipient(s):
Subject:
Message:
{/exp:friends:message_form}


My Fetch Page
Click Me
Click the button above, you will see the school I like
Each three seconds, the cute rabbit will disappear or appear ~
--choose municipality--


The Umbrellas of Cherbourg (1964)
Grade: 91
Has there ever been a film more lovely than "The Umbrellas of Cherbourg"? Pretty faces, voices, melodies and colors; it's a film where tenement walls are painted bright green, and ageless mothers are as lovely as their daughters. Only once is there a respite from relentless beauty, when Guy shows up for work in a dirty uniform.
The strength of "Cherbourg" comes from its sets, its melodies, and its story. But it is known chiefly for its cinematic invention of dialogue sung not spoken. Its songs are all derived from the dialogue between two characters. This might seem a gimmick if the 'script' wasn't so revealing of character, or if the Michel Legrand melodies weren't so memorable. But not even the most cynical of observers can prevent from being swept away by the film's brilliance.
The story is pure romance. It begins in France of 1957. Guy (Nino Castelnuovo) is a young auto mechanic who dreams of operating his own gas station. He lives with his sickly Godmother (Mireille Perrey) who is nursed by comely, gentle Madeleine (Ellen Farner). Genevieve (Catherine Deneuve) is a young woman who works in a financially failing umbrella store owned by her mother (Anne Vernon). Guy and Genevieve are lovers, but are parted by his drafting into the war with Algeria.
(Some spoilers follow, which are needed in order to better analyze the film. You've probably either already seen the film or never will, but otherwise, at least now you've been warned.)
A final encounter with Guy leaves Genevieve pregnant. Her mother schemes to remedy the situation by marrying her off to wealthy, well-mannered diamond merchant Roland (Marc Michel, reprising his character from director Jacques Demy's earler film "Lola"). This comes to pass. Guy returns from the war, and after some sulking makes the equally practical decision of marrying loyal Madeleine.
A final, accidental encounter between Genevieve and Guy is wistful but only confirms that both have made the right decision. That "Cherbourg" begins with such an intense romance between the leads, and ends with them as virtual strangers, is as strong a commentary about the fleeting nature of love as can be found in cinema.
<EMAIL_ADDRESS>http://members.tripod.com/~Brian_Koller/movies.html
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


| DOSE: |
1 repeated |
smoked |
DMT |
(powder / crystals) |
I am describing mainly my second dmt trip which was maybe an hour or less after my first.Id been tracking dmt for maybe 4 years and then having got some I didnt end up smoking it for 8 months,a failed attempt with wrong smoking equipment, and generally not feeling quite ready yet.. then a friend came from India with good pipe for it, this was magic as he was first person to tell me of it when I happened upon him at a festival 5 minutes after he'd stumbled out of his first trip...
Anyway we set up mellow lying down space, my friend administerd the pipe as two of us lay down. etc I believe we both had usual intensity of geometrics etc. the other tripper then left and I lay still for ages enjoying the after thoughts etc after some time my friend came and offered me another smoke. As he had brought some with him too from a different source I wasnt sure if it was mine or his and didnt even think about that until I started to trip. It was all so completely different in terms of the geometrics and colours and my feelings that the thought occured that it must be his as it was so different and felt superior in quality. Actually it was the rest of my pipe from earlier,so I can only presume that lying still for a long time and breathig gently affected maybe not the quality of the visuals or experiences but definitely enhanced my sense of well being through all the experiences and I had more of an interesting and vaguely controllable? journey as a result.
Theres a spookily delightful side to this trip. I got 'stuck' at one point watching a seething huge gathering of interacting beings, and I started to have a similar feeling as when you half realise that you are dreaming and are trying to rationalise a bit instead of the full flow. I opened my eye and registerd the pipe next to me,then shut eyes again with thought'I did this and its brought me here , wots it all about?' immediately became aware of character leaning next to me and I know his name which is the same as a famous cartoon character, but he is just slightly wayward on the ball type, and I asked him 'wots all this about?' his reply came 'Its all a bleedin' circus mate!' and I said ' then wot to do' given that I was still stuck in ahuge mass of interlocking entities of all description,including a continuous loop of loudly quacking yellow plastic bathroom ducks!!! his advice was 'meditate, practice knowledge!'
My focus immediately became drawn into a central figure of some indian deity and all the endless loop of interactin bods dissolved through the figure and I felt like my point of focus and consciousness was able also to flow through this gateway and I embarked on a wonderful journey where I seemed to be able to use the dmt perspective with some sort of will,in that I could select an aspect of my life or world politics and experience a great overview and understanding of whatever I was focussing on. these insights all lasted very clearly into my normal consciousness and remain valuable mental affirmation even now 4years later.
We were delighted with the 'circus' catch phrase and it was in constant use as it was so often appropriate.
Months later in a caravan full of friendly strangers I was asked about my dmt trip having never spoken about it to anyone but my friend,I was asked 'did you meet your spirit guide then?' and as it was 3am ish in Pilton. I jokingly said 'yes' and named the cartoon character and the whole place erupted in a chorus of quacking and general nonsense that flashed me back to dmt world for a bit. I gratefully relised that at last I was among others who'd smoked it too and lots of chat ensued. Ovar the next few weeks I was itinerant and met a lot of new people who all new each other well,life was mad,definitely a circus.. then I met friend who had brought the pipe and we ended up at the house of a new friend who Id met in the caravan at Pilton.
During the course of the evening she made several references to someone I didnt know,as if I knew them,so I put her right ,but she was adamant that I must have known him as Id been doing impersonations of him ever since she'd met me,and she named the character.My friend and I both explained that I'd met this fellow and his catchphrase during a trip, and she grabbed me and said'well thats our dead mate who died ina fire a few years back!' wierd ..my own practical circumstances then led me over the next few weeks by chance to bump into all of the people again with whom Id connected over this character who strangely enough had been known to say 'its all a bleedin' circus mate' and as for the ducks...? apparently 'quack quack' was another of his phrases.. so like I said ..its a bit bigger than a cartoon.
I concluded -apart from all of that- that it was valuable to lie still for a good long period before the trip,it greatly enhanced my ability to assimilate the experiences.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This bar chart shows the top ten states for a given age bracket, sorted by population percentage. For example, Utah’s burgeoning youth population earns it the top spot in the 5 to 13 (15.1%) and under 5 (9.8%) brackets, while Florida is popular with retirees (17.4%).
The chart shows multiple slices of a dataset, transitioning smoothly when the age bracket changes. The x-axis rescales to accommodate the change in maximum value, while bars reshuffle along the y-axis to preserve sorted order. Graphical elements enter and exit: Hawaii enters the top ten for the 65 and older age brackets, but fades out in younger ones. The axis ticks change suitably, from whole percentages to fifths. Old values fade-out while the new values fade-in, both translating to preserve a valid display across the transition.
Animated transitions are pretty, but they also serve a purpose: they make it easier to follow the data. This is known as object constancy: a graphical element that represents a particular data point (such as Ohio) can be tracked visually through the transition. This lessens the cognitive burden by using preattentive processing of motion rather than sequential scanning of labels.
To achieve object constancy with D3.js, specify a key function as the second argument to selection.data. This function takes a data point as input and returns a corresponding key: a string, such as a name, that uniquely identifies the data point. For example, the bar chart above defines data as objects:
{
"State": "ND",
"Total": 641481,
"Under 5 Years": 0.065,
"5 to 13 Years": 0.105,
"14 to 17 Years": 0.053,
"18 to 24 Years": 0.129,
"16 Years and Over": 0.804,
"18 Years and Over": 0.777,
"15 to 44 Years": 0.410,
"45 to 64 Years": 0.260,
"65 Years and Over": 0.147,
"85 Years and Over": 0.028
}
A suitable key function for this data returns the
State
property, a
FIPS code:
function key(d) {
return d.State;
}
When you join the top-ten states to the bars, three selections are returned:
var bar = svg.selectAll(".bar")
.data(top, function(d) { return d.State; });
The selection
bar
is the
update selection: states that persist across the transition. The selections
bar.enter()
and
bar.exit()
are the
enter and
exit selections: states that are incoming or outgoing, respectively. For more on
these three selections, see
Thinking with Joins.
For example, when changing from the 18-24 bracket to 14-17, Alaska moves from spot #5 to #1. Since it is in the top ten in both age brackets, it is in the update selection. An update transition interpolates the transform attribute to translate Alaska smoothly to its new position. Simultaneous subtransitions resize the bar and reposition the associated label:
var barUpdate = d3.transition(bar)
.attr("transform", function(d) { return "translate(0," + y(d.State) + ")"; });
barUpdate.select("rect")
.attr("width", function(d) { return x(d[age]); });
barUpdate.select("text")
.attr("x", function(d) { return x(d[age]) - 3; })
.text(function(d) { return format(d[age]); });
Transitions are also used to fade entering and exiting elements. For the full code, view source.
Key functions can be useful for improving performance independent of transitions. For example, if you filter a large table, you can use a key function to reduce the number of DOM modifications: reorder DOM elements in the update selection rather than regenerating them. We used this technique at Square to improve the performance of merchant analytics, and it’s one of the reasons that D3 is faster than most template frameworks.
Above all, animation should be meaningful. While it may be visually impressive for bars to fly around the screen during transitions, animation should only be used when it enhances understanding. Transitions between unrelated datasets or dimensions ( e.g., from temperature to stock price) should use a simpler cross-fade or cut rather than gratuitous, nonsensical movement.
Use a key function whenever you want to follow graphical elements through animation and interaction: filtering (adding or removing elements), reordering (sorting), switching dimensions within multivariate data, etc. If you forget to specify a key function, the default join-by-index can be misleading! Assist your viewers by maintaining object constancy.


Dynamic Menu Manager Mode
When on this feature will smart arrange a new menu comparing it to the old menu if one exists.
Forces on compatibility mode. This will force the menu manager to delete and re-add each menu item for every menu update. This mode is generally not advised due to performance issues.
SDLDynamicMenuUpdatesModeForceOn = 0
case forceOn = 0
This mode forces the menu manager to always dynamically update menu items for each menu update. This will provide the best performance but may cause ordering issues on some SYNC Gen 3 head units.
SDLDynamicMenuUpdatesModeForceOff
case forceOff = 1
This mode checks whether the phone is connected to a SYNC Gen 3 head unit, which has known menu ordering issues. If it is, it will always delete and re-add every menu item, if not, it will dynamically update the menus.
SDLDynamicMenuUpdatesModeOnWithCompatibility
case onWithCompatibility = 2


'Boy, 5, ate dad's cocaine then told teacher it made him feel like Spiderman'
A five year-old boy ate his father’s cocaine – then told his teacher that being high on the drug made him feel like Spiderman, police say.
The unidentified youngster brought a baggie of the illegal drug to Lawrence Elementary School in Holyoke, Massachusetts, last Thursday.
It was stamped with pictures of Spiderman, with the boy telling his teacher that when he took the drug it made him feel like the superhero.
The boy’s teacher told the school principal, who called an ambulance and the police.
He was taken to hospital as a precaution, although the bag was sealed, and police do not believe he took any of its contents.
It is unclear whether the youngster may previously have taken cocaine from other bags, NBC News reported.
Advertisement Advertisement
His dad, Benny Garcia, was found asleep at his home by police. There were 38 bags of cocaine and 70 bags of heroin in the house, it is alleged.
Garcia was being sought by police on separate drugs charges at the time of the incident with his son, and now faces further counts of the same offense.
The boy and his baby sibling both lived with Garcia and their mom, but have now been taken into social services custody.
Garcia is in jail ahead of a court hearing Wednesday to decide whether he should be freed on bail.


{% load i18n %}
{% trans "That address has already been registered by another user." %}
{% trans "That username has already been registered by another user." %}


As we know there are many vulnerabilities present in the Threads web application so to find out and exploit each of these vulnerabilities are the challenges on Threads application. We have categorized the vulnerabilities into 4 parts (low,medium,high,critical) on the basis of how it is going to affect your system.
Note : ( In order to solve the challenges hints are provided with them).
Here is the list of all the challenges according to the severity category to solve and practise:
Low
XSS(Self-XSS)
About: Self-xss has the behaviour similar to Reflected XSS however it can not be executed with simple ways like Url Crafting, Cross domain request.In this victim themself submit the xss payload (javascript code) in their browser that means you/victim yourself can exploit only. So in order to exploit this vulnerability as an attacker you need to convince the victim to submit/paste the javascript code in the browser (which is not simply not possible). Hence it is considered as a low vulnerability until unless chaining with other vulnerabilities like CSRF. Reference to Learn more:Self-XSS
Hint: Self-XSS is present in the profile section of the application. You need to insert a javascript payload to exploit this vulnerability.
Hidden Directories
About: Sometimes Application has hidden directories which are not visible on a public website and these can reveal useful information for potential attacks. Hidden Directories can be found via brute force using a wordlist.
Hint: There are many hidden directories present in Threads application one consist of an admin section where an admin user can login. You can find the hidden directories with the help of following tools like DIRSEARCH, FUZZ dir etc.
Cross-site Request Forgery(CSRF)
About: In this victim executes unwanted actions on behalf of the attacker on an application in which they are authenticated. CSRF can be done at the places in an application where state change events happen like password change,delete,update and similar. Attackers can trick a victim to click on a link via social engineering and execute the unwanted actions on a web application. Reference to Learn more:CSRF.
Hint: Can you try to change user password,username on profile using CSRF.
Medium
MongoDB Injection(NoSQL Injection)
About: NoSQL injection vulnerabilities allow attackers to inject code into commands for databases that don’t use SQL queries, such as MongoDB. NoSQL injection attacks can be especially dangerous because code is injected and executed on the server in the language of the web application, potentially allowing arbitrary code execution. Reference to learn more:MongoDB Injection
Hint : It is present in a section where the application retrieve values from the database according to the user input like in fields like search bar.
High
Insecure Direct Object Reference
About: An insecure direct object reference (IDOR) is an access control vulnerability. Which occurs when unvalidated input is used to reference or access an object by using an unique ID. If by changing ID the attacker can access the details/object which should not be accessible, it’s an IDOR. Reference to learn more:IDOR
Hint: Deleting Comment/Post of any user using BurpSuite (having the UUID).
Server-side Request Forgery(SSRF)
About: In a Server-Side Request Forgery (SSRF) victim server makes the http request on the behalf of the attacker to some other mentioned server by the attacker. Reference to learn more:SSRF
Hint: It is present in the profile section of the application where an user can upload picture via URL.
XSS(Stored XSS)
About: Stored xss occurs when the application processes and stores untrusted data (malicious javascript) at the server side and includes that data in later http response in a unsafe way which can triggers the malicious javascript as input to application. Reference to learn more:Stored XSS
Hint: Under the profile section, you can change your website link, it would execute only when visited in an unauthenticated state.
Critical
JWT Authentication
About: JWT(JSON Web Token) are used for authentication and A statement from “RFC 7518 (JSON Web Algorithms) states that “A key of the same size as the hash output (for instance, 256 bits for “HS256”) or larger MUST be used with this algorithm. Because shorter can be brute forced this is the one of the weak points that can occur while implementing jwt. Reference to learn more:JWT
Note: For JWT challenge, hardcoded email is<EMAIL_ADDRESS>and the password for it is ‘123’. So first make sure that an account exists with the above email id and then try to forge the token.
Hint: The application uses cookie-based authentication but has the support of JWT as well.There is a /management page which has an authentication system which works via JWT API. When logging in to the /management page by providing your credentials, you would see that you are not authorized to log in. Now to become authorized user one has to forge the token of the admin account since its using HMAC so the current secret key is thr3@ds@000t so forge a token with<EMAIL_ADDRESS>can replace the token via burp request and response or just change the token under local storage and refresh the page you should have admin access where you can delete other users.
These are all the challenges present on Threads application which you can solve. Happy learning,Happy hacking!


url which contains
Extracted query string from url
Add the query stringify method
The query string to parse into an object. If any type other than string, just returns it
Returns query-string as object
Add the query stringify method
Parameters to be built into a query string
Optional settings
Returns query-stringified object
Generated using TypeDoc
Extract the query string sentence from any url. If there is no query string, empty string should be returned.


Court Magician:
Can't you see that I am busy? If you continue to bother me, I will turn you into a frog!


Fast and lightweight pathfinding library for grid based games
Modules
| jumper.core.bheap | A light implementation of binary heaps . |
| jumper.core.heuristics | Heuristics for the search algorithm. |
| jumper.core.node | The node class. |
| jumper.core.path | The path class. |
| jumper.grid | The grid class API. |
| jumper.grid | The grid class API. |
| jumper.pathfinder | The pathfinder class API. |
Scripts
| jumper.search.astar | A-star algorithm. |
| jumper.search.bfs | Breadth-First Search algorithm. |
| jumper.search.dfs | Depth First Search algorithm. |
| jumper.search.dijkstra | Dijkstra algorithm. |
| jumper.search.jps | Jump Point Search algorithm. |
| jumper.search.thetastar | Theta-star algorithm. |


Lucky punter wins nearly €150k in Saturday's lotto draw
by James CoxThere was no winner of Saturday's €5 million Lotto jackpot but one lucky Irish punter won nearly €150,000.
The €5,147,131 jackpot will now rollover to next Wednesday.
Over 100,000 players won something in tonight's draw.
Almost 17,000 won €10 while somebody is €148,259 richer. Hey, it's not €5 million but we surely wouldn't turn it down!
The jackpot numbers were 4, 15, 20, 21, 34, 39 and the bonus number was 19.
There was no winner of the €1,000,000 Lotto Plus One draw either but the winning numbers in that were 1, 8, 11, 15, 17, 29, and the bonus number was 33.


Lizhang Xie
Graduated from Columbia University, I continue my passion in software developing at Coding Dojo. I am self-sufficient software developer building full stack apps from python Django through Angular4.
Technologies
Languages:
Python ⦁ JavaScript ⦁ Typescript ⦁ Ruby
Front-End Development:
HTML5 ⦁ CSS3 ⦁ jQuery ⦁ jQuery UI ⦁ HTTP Request/Response ⦁ Ajax
Databases:
SQL (MySQL, SQLite, PostgreSQL) ⦁ NoSQL(MongoDB) ⦁ Mongoose.js
Frameworks:
Flask ⦁ Django ⦁ React ⦁ Angular2/4 ⦁ Ruby on Rails ⦁ Express.js/Socket.io ⦁ Twitter Bootstrap
Methodology:
Object Oriented Programming(OOP) ⦁ MVC/MTV ⦁ RESTful Architecture ⦁ CRUD
Others:
Git ⦁ Node.js ⦁ SimaPro ⦁ ArcGIS ⦁ R ⦁ Microsoft Office Suite


Hello! I'm a software engineer based in Seattle with experience in JavaScript with emphasis on React and Node.js.
Coming from another engineering discipline, I must say that I really do love to overcome challenges and learn new technologies.
I learned a bit of coding during my college days and used it in mathematical applications. I slowly began to connect coding with web applications and it sparked a new passion. I hope to be able to use my skills and contribute to solving real world problems.
In my free time, I like to play board games, learn new hobbies, snowboard and explore the mountains.
PlanCake was designed to be an all-in-one social event planning platform. Users can create events and invite their friends to help plan. Within an event, there can be multiple chat rooms for different issues such as flights or hotels where users can pin and like messages. If there's something that needs to be done, users can add it to a group task list. Lastly, finalized plans can be added to a detailed itinerary.
View CodeAs its name suggests, PicWorthy allows its users to find picture worthy locations around them using Google Maps API. Users can also post and save locations. Future add-ons include sharing across different social media platforms and public voting count for each location.
View ProjectCode Fight Club was originally an application to practice coding challenges. This open-source application was refactored be an online multiplayer game where users compete against each other in real-time.
View Project
Related Coursework


{% extends 'base.html' %} {% block title %}Logged out{% endblock title %} {% block maincontent %}
You have been logged out. You can log in using this link


rescue car services
Tyres
we repair tires and change them
Battery
we have batteries to suit your needs
Expert Opinion
we offer opinion on how to solve the problem
Fuel Delivery
we deliver fuel to any irrespective of time
HOME
SERVICES
ABOUT US


Skills page
Code
Engines and Infographics
Hardware
Network
Software
Data
Web
Mobile
Technos
Office
Software
C
C++
Java
Python
C#
Data
Big data
Data science
Machine learning
SQL
MySQL
Microsoft Access
Web
HTML
CSS
PHP
Bootstrap
Wordpress
Mobile
Androïd
Kivy
Technos
Git
SVN
Doxygen
Anaconda
Maven
Office
Latex
Markdown
Game engines
3D
2D
Game engines
Unreal Engine
Unity
Godot Engine
Ren'Py
3D
Blender
MagicaVoxel
Catia
PTC Creo
2D
Gimp
Inkscape
Krita
Operating systems
Virtualization
Computers
Operating systems
Arch Linux
CentOS
Debian
Ubuntu
Windows
Windows Server
Virtualization
VirtualBox
VMware
Computers
Arduino
Raspberry Pi
Network
Network
Ethernet
IP
ARP
Routing
Subnetting
Firewalling


Which product do you need help with?
One
Desire
Lifestyle
Accessories
What topic do you need help with?
Find out about your repair options, or the progress of a repair
Choose your device version


>
XFrameOptions test page. Amazon is used as test frame because it has option SAMEORIGIN
iframes are not supported by your browser.


Todo list
Finished
Created
Title
Description
Actions
+
New
Remove
Save
New
Save all
Settings
Log level:
0
1
2
Two-way binding:
Bind
Note: you can't re-bind the ViewModel. In stead of going through the pain of ko.cleanNode and manually cleaning up DOM nodes and listeners, just reload the page if you want to test different settings.


{% raw %} {% extends "layout.html" %} {% block content %}
This is a starter Flask template. It includes Bootstrap 3, jQuery 2, Flask-SQLAlchemy, WTForms, and various testing utilities out of the box.


[0.0] INSTALL KISS
________________________________________________________________________________
Welcome to the installation guide for KISS Linux.
The installation utilizes a tarball which is unpacked to '/'. This same tarball
is also directly usable as a chroot from any Linux distribution.
A live-CD from a another distribution is required to bootstrap KISS. It does not
matter which distribution is used so long as it includes 'tar', 'xz' and other
basic utilities.
The guide assumes you have booted a live-CD, are logged in as root, have your
disks, partitions and filesystems setup and have an internet connection.
[1.0] The Process
________________________________________________________________________________
- Install KISS [2.0]
- Download the latest release [2.1]
- Verify the checksums [2.2]
- Verify the signature [2.3]
- Unpack the tarball [2.4]
- Enter the chroot [2.5]
- Setup repositories [3.0]
- KISS_PATH [3.1]
- Official repositories [3.2]
- Enable repository signing [4.0]
- Build and install gnupg1 [4.1]
- Import My Key [4.2]
- Enable Signature Verification [4.3]
- Rebuild KISS [5.0]
- Modify Compiler Options [5.1]
- Update All Base Packages [5.2]
- Rebuild All Packages [5.3]
- Userspace tools [6.0]
- Filesystems [6.1]
- WiFi [6.2]
- Dynamic IP addressing [6.3]
- The hostname [7.0]
- The kernel [8.0]
- Install required packages [8.1]
- Download the kernel sources [8.2]
- Download firmware blobs [8.3]
- Configure the kernel [8.4]
- Build the kernel [8.5]
- Install the kernel [8.6]
- The bootloader [9.0]
- Build and install grub [9.1]
- Setup grub [9.2]
- Install init scripts [10.0]
- Set a root password [11.0]
- Add a normal user [12.0]
- Install graphical session (wayland) [13.0]
- Further steps [14.0]
[2.0] Install KISS
________________________________________________________________________________
Start by declaring two variables.
+------------------------------------------------------------------------------+
| |
| $ url=https://github.com/kisslinux/repo/releases/download/2021.7-9 |
| $ file=kiss-chroot-2021.7-9.tar.xz |
| |
+------------------------------------------------------------------------------+
[2.1] Download the latest release
____________________________________________________________________________
+--------------------------------------------------------------------------+
| |
| $ curl -fLO "$url/$file" |
| |
+--------------------------------------------------------------------------+
[2.2] Verify checksums (recommended)
____________________________________________________________________________
+--------------------------------------------------------------------------+
| |
| $ curl -fLO "$url/$file.sha256" |
| $ sha256sum -c < "$file.sha256" |
| |
+--------------------------------------------------------------------------+
[2.3] Verify signature (recommended)
____________________________________________________________________________
This step verifies that the release was signed by its creator, Dylan Araps.
If the live OS of your choice does not include GPG, this step can also be
done on another machine (with the same tarball).
+--------------------------------------------------------------------------+
| Download the armored ASCII file. |
+--------------------------------------------------------------------------+
| |
| $ curl -fLO "$url/$file.asc" |
| |
+--------------------------------------------------------------------------+
| Import my public key (if this fails, try another keyserver). |
+--------------------------------------------------------------------------+
| |
| $ gpg --keyserver keys.gnupg.net --recv-key 13295DAC2CF13B5C |
| |
+--------------------------------------------------------------------------+
| Verify the signature. |
+--------------------------------------------------------------------------+
| |
| $ gpg --verify "$file.asc" |
| |
+--------------------------------------------------------------------------+
[2.4] Unpack the tarball
____________________________________________________________________________
This step effectively installs KISS to /mnt. The tarball contains a working
system minus the bootloader and kernel.
+--------------------------------------------------------------------------+
| |
| $ cd /mnt |
| $ tar xvf "$OLDPWD/$file" |
| |
+--------------------------------------------------------------------------+
[2.5] Enter the chroot
____________________________________________________________________________
This is a simple script to chroot into /mnt and set up the environment.
The script handles mounting pseudo filesystems (/proc, /dev, /sys, etc),
enabling network inside the chroot and clean up upon exit.
On execution of this step you will be running KISS! The next steps involve
the kernel, software compilation and system setup.
+--------------------------------------------------------------------------+
| |
| $ /mnt/bin/kiss-chroot /mnt |
| |
+--------------------------------------------------------------------------+
[3.0] Setup repositories
________________________________________________________________________________
The repository system is quite different to that of other distributions. The
system is controlled via an environment variable called KISS_PATH. This variable
is analogous to PATH, a colon separated list of absolute paths.
A repository is merely a directory (repo) containing directories (packages) and
can be located anywhere on the file-system. The full path to the directory is
the value to KISS_PATH.
The chroot/installation tarball does not come with any repositories by default,
nor does the package manager expect or assume that any exist in a given
location. This is entirely up to the user.
[3.1] Setting KISS_PATH
____________________________________________________________________________
The variable can be set system-wide, per-user, per-session, per-command,
and even programmatically. This guide will cover setting it for the current
user with an example repository layout.

- There is a git repository called 'repo' containing four KISS repositories.
- There is a directory called personal, not tracked by git.
- The personal directory contains two KISS repositories.
This user's KISS_PATH could look like this:
+--------------------------------------------------------------------------+
| |
| ~/.profile |
| |
| 1 export KISS_PATH='' |
| 2 KISS_PATH=$KISS_PATH:$HOME/repos/personal/games |
| 3 KISS_PATH=$KISS_PATH:$HOME/repos/personal/web |
| 4 KISS_PATH=$KISS_PATH:$HOME/repos/repo/core |
| 5 KISS_PATH=$KISS_PATH:$HOME/repos/repo/extra |
| 6 KISS_PATH=$KISS_PATH:$HOME/repos/repo/wayland |
| |
+--------------------------------------------------------------------------+
- All repositories are enabled.
- This is a per-user configuration using ~/.profile
- The package manager will search this list in the order it is defined.
+--------------------------------------------------------------------------+
| |
| TIP: Run '. ~/.profile' for changes to immediately take effect. |
| |
+--------------------------------------------------------------------------+
[3.2] Official repositories
____________________________________________________________________________
The official repositories contain everything from the base system to a
working web browser (Firefox) and media player (mpv). This includes Wayland,
rust, nodejs and a lot of other useful software.
Clone the repository to the directory of your choosing.
+--------------------------------------------------------------------------+
| |
| $ git clone https://github.com/kisslinux/repo |
| |
+--------------------------------------------------------------------------+
This will be cloned to a directory called 'repo'. This directory contains
multiple KISS repositories (core, extra, testing and wayland). Core and
Extra must be enabled as this guide requires their use. Wayland is optional.
[3.4] Universe
____________________________________________________________________________
There are many more repositories in existence, each providing a unique set
of software. These are all independently created and managed by users.
- @/wiki/community/repositories
- https://github.com/topics/kiss-repo
It may be desirable to save this step for post-installation.
Repositories should now be setup and in functioning order. Run 'kiss search \*'
(notice the backslash) to print all repository packages in the search order of
the package manager.
+------------------------------------------------------------------------------+
| TIP! |
+------------------------------------------------------------------------------+
| |
| The install guide (and all documentation) is available via 'kiss help'. |
| |
| $ kiss help install |
| |
+------------------------------------------------------------------------------+
[4.0] Enable repository signing
________________________________________________________________________________
This step is optional and can also be done after the installation. Repository
signing ensures that all updates have been signed by (Dylan Araps) and further
prevents any unsigned updates from reaching your system.
[4.1] Build and install gnupg1
____________________________________________________________________________
Welcome to the KISS package manager! This command will build gnupg1 and
prompt for installation once done. Packages can also be installed manually
by using 'kiss i pkg'.
+--------------------------------------------------------------------------+
| |
| $ kiss build gnupg1 |
| |
+--------------------------------------------------------------------------+
[4.2] Import (Dylan Araps') key
____________________________________________________________________________
If the GNU keyserver fails on your network, try an alternative mirror.
+--------------------------------------------------------------------------+
| Import my public key. |
+--------------------------------------------------------------------------+
| |
| $ gpg --keyserver keys.gnupg.net --recv-key 13295DAC2CF13B5C |
| |
+--------------------------------------------------------------------------+
| Trust my public key. |
+--------------------------------------------------------------------------+
| |
| $ echo trusted-key 0x13295DAC2CF13B5C >>/root/.gnupg/gpg.conf |
| |
+--------------------------------------------------------------------------+
[4.3] Enable signature verification
____________________________________________________________________________
Repository signature verification uses a feature built into git itself
(merge.verifySignatures)! This can be disabled at any time using the
inverse of the below git command.
The same steps can also be followed with 3rd-party repositories if the
owner chooses to sign their commits.
+--------------------------------------------------------------------------+
| |
| $ cd /path/to/repo # (where kisslinux/repo was cloned) |
| $ git config merge.verifySignatures true |
| |
+--------------------------------------------------------------------------+
[5.0] Rebuild kiss
________________________________________________________________________________
This step is entirely optional and can also be done post-installation.
[5.1] Modify compiler options (optional)
____________________________________________________________________________
These options have been tested and work with every package in the
repositories. If you'd like to play it safe, use -O2 or -Os instead of -O3.
If your system has a low amount of memory, omit -pipe. This option speeds
up compilation but may use more memory.
If you intend to transfer packages between machines, omit -march=native.
This option tells the compiler to use optimizations unique to your
processor's architecture.
The `-jX` option should match the number of CPU threads available. You can
omit this, however builds will then be limited to a single thread.
+--------------------------------------------------------------------------+
| CFLAGS/CXXFLAGS |
+--------------------------------------------------------------------------+
| |
| # NOTE: The 'O' in '-O3' is the letter O and NOT 0 (ZERO). |
| $ export CFLAGS="-O3 -pipe -march=native" |
| $ export CXXFLAGS="$CFLAGS" |
| |
+--------------------------------------------------------------------------+
| MAKEFLAGS |
+--------------------------------------------------------------------------+
| |
| # NOTE: '4' should be changed to match the number of threads. |
| $ export MAKEFLAGS="-j4" |
| |
+--------------------------------------------------------------------------+
[5.2] Update all base packages to the latest version
____________________________________________________________________________
This is how updates are performed on a KISS system. This command uses git
to pull down changes from all enabled repositories and will then optionally
handle the build/install process.
+--------------------------------------------------------------------------+
| |
| $ kiss update |
| |
+--------------------------------------------------------------------------+
[5.3] Rebuild all packages
____________________________________________________________________________
We simply cd to the installed packages database and use a glob to grab the
name of every installed package. This glob is then passed to the package
manager as a list of packages to build.
+--------------------------------------------------------------------------+
| |
| $ cd /var/db/kiss/installed && kiss build * |
| |
+--------------------------------------------------------------------------+
[6.0] Userspace tools
________________________________________________________________________________
Each kiss action (build, install, etc) has a shorthand alias. From now on,
'kiss b' will be used in place of 'kiss build' and so on.
The software below is required unless stated otherwise.
[6.1] Filesystem utilities
____________________________________________________________________________
NOTE: Open an issue for additional filesystem support.
+--------------------------------------------------------------------------+
| EXT2, EXT3, EXT4 |
+--------------------------------------------------------------------------+
| |
| $ kiss b e2fsprogs |
| |
+--------------------------------------------------------------------------+
| FAT, VFAT |
+--------------------------------------------------------------------------+
| |
| $ kiss b dosfstools |
| |
+--------------------------------------------------------------------------+
[6.2] WiFi (optional)
____________________________________________________________________________
+--------------------------------------------------------------------------+
| |
| $ kiss b wpa_supplicant |
| |
+--------------------------------------------------------------------------+
[6.3] Dynamic IP addressing (optional)
____________________________________________________________________________
+--------------------------------------------------------------------------+
| |
| $ kiss b dhcpcd |
| |
+--------------------------------------------------------------------------+
[7.0] The hostname
________________________________________________________________________________
+------------------------------------------------------------------------------+
| Create the /etc/hostname file |
+------------------------------------------------------------------------------+
| |
| $ echo HOSTNAME > /etc/hostname |
| |
+------------------------------------------------------------------------------+
+------------------------------------------------------------------------------+
| Update the /etc/hosts file |
+------------------------------------------------------------------------------+
| |
| <IP_ADDRESS> HOSTNAME.localdomain HOSTNAME |
| ::1 HOSTNAME.localdomain HOSTNAME ip6-localhost |
| |
+------------------------------------------------------------------------------+
| |
| NOTE: This step must be done every time the hostname is changed. |
| |
+------------------------------------------------------------------------------+
[8.0] The kernel
________________________________________________________________________________
This step involves configuring and building your own Linux kernel. If you have
not done this before, below are a few guides to get you started.
- https://wiki.gentoo.org/wiki/Kernel/Gentoo_Kernel_Configuration_Guide
- https://wiki.gentoo.org/wiki/Kernel/Configuration
- https://kernelnewbies.org/KernelBuild
The Linux kernel is not managed by the package manager. The kernel is managed
manually by the user. (Rationale: @/faq#5.3)
KISS does not support booting using an initramfs (see @/faq#5.2). When
configuring your kernel ensure that all required file-system, disk controller
and USB drivers are built with [*] (=y) and not [m] (=m).
+------------------------------------------------------------------------------+
| |
| TIP: The Wiki contains a basic kernel configuration page. |
| @/wiki/kernel/config |
| |
+------------------------------------------------------------------------------+
[8.1] Install required packages
____________________________________________________________________________
+--------------------------------------------------------------------------+
| libelf (required in most if not all cases). |
+--------------------------------------------------------------------------+
| |
| $ kiss b libelf |
| |
| NOTE: If using libelf, the following fix may need to be applied. |
| |
| $ sed '/<stdlib.h>/a #include <linux/stddef.h>' \ |
| tools/objtool/arch/x86/decode.c > _ |
| $ mv -f _ tools/objtool/arch/x86/decode.c |
| |
+--------------------------------------------------------------------------+
+--------------------------------------------------------------------------+
| ncurses (required only for 'make menuconfig'). |
+--------------------------------------------------------------------------+
| |
| $ kiss b ncurses |
| |
+--------------------------------------------------------------------------+
+--------------------------------------------------------------------------+
| perl (required in nearly all cases). |
+--------------------------------------------------------------------------+
| |
| $ kiss b perl |
| |
| TIP: A patch can be applied to remove this requirement. |
| - @/wiki/kernel/config#5.0 |
| - /usr/share/doc/kiss/wiki/kernel/patches/kernel-no-perl.patch |
| |
+--------------------------------------------------------------------------+
[8.2] Download the kernel sources
____________________________________________________________________________
Kernel releases:
- https://kernel.org (vanilla)
- https://www.fsfla.org (libre)
A larger list of kernels can be found here:
- https://wiki.archlinux.org/index.php/Kernel
+--------------------------------------------------------------------------+
| Download the kernel sources. |
+--------------------------------------------------------------------------+
| |
| $ curl -fLO KERNEL_SOURCE |
| |
+--------------------------------------------------------------------------+
| Extract the kernel sources. |
+--------------------------------------------------------------------------+
| |
| $ tar xvf KERNEL_SOURCE |
| $ cd linux-* |
| |
+--------------------------------------------------------------------------+
[8.3] Download firmware blobs (if required)
____________________________________________________________________________
To keep the KISS repositories entirely FOSS, the proprietary kernel firmware
is omitted. This also makes sense as the kernel itself is manually managed
by the user. This step is only required if your hardware needs firmware.
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+--------------------------------------------------------------------------+
| Download and extract the firmware. |
+--------------------------------------------------------------------------+
| |
| $ curl -fLO FIRMWARE_SOURCE.tar.gz |
| $ tar xvf FIRMWARE_SOURCE.tar.gz |
| |
+--------------------------------------------------------------------------+
| Copy the required drivers to '/usr/lib/firmware'. |
+--------------------------------------------------------------------------+
| |
| $ mkdir -p /usr/lib/firmware |
| $ cp -R ./path/to/driver /usr/lib/firmware |
| |
+--------------------------------------------------------------------------+
[8.4] Configure the kernel
____________________________________________________________________________
You can determine which drivers you need by searching the web for your
hardware and the Linux kernel. If you require firmware blobs, the drivers
you enable must be enabled as [m] (modules). You can also optionally include
the firmware in the kernel itself.
+--------------------------------------------------------------------------+
| Generate a default config with most drivers built into the kernel. |
+--------------------------------------------------------------------------+
| |
| $ make defconfig |
| |
+--------------------------------------------------------------------------+
| Open an interactive menu to edit the generated .config and enable |
| anything extra you may need. |
+--------------------------------------------------------------------------+
| |
| $ make menuconfig |
| |
+--------------------------------------------------------------------------+
| Store the generated config for reuse later. |
+--------------------------------------------------------------------------+
| |
| $ cp .config /path/to/somewhere |
| |
| |
| TIP: The kernel can backup its own .config file. |
| @/wiki/kernel/config#2.0 |
| |
+--------------------------------------------------------------------------+
[8.5] Build the kernel
____________________________________________________________________________
This may take a while to complete. The compilation time depends on your
hardware and kernel configuration.
+--------------------------------------------------------------------------+
| |
| $ make |
| |
+--------------------------------------------------------------------------+
[8.6] Install the kernel
____________________________________________________________________________
+--------------------------------------------------------------------------+
| Install the built modules (to /usr/lib). |
+--------------------------------------------------------------------------+
| |
| $ make INSTALL_MOD_STRIP=1 modules_install |
| |
+--------------------------------------------------------------------------+
| Install the built kernel (to /boot). (Ignore the LILO error). |
+--------------------------------------------------------------------------+
| |
| $ make install |
| |
+--------------------------------------------------------------------------+
| Rename the kernel/system.map (vmlinuz -> vmlinuz-VERSION). |
+--------------------------------------------------------------------------+
| |
| $ mv /boot/vmlinuz /boot/vmlinuz-VERSION |
| $ mv /boot/System.map /boot/System.map-VERSION |
| |
+--------------------------------------------------------------------------+
[9.0] The bootloader
________________________________________________________________________________
The default bootloader is grub (though nothing prevents the use of another).
This default was chosen as most people are familiar with it, both BIOS and UEFI
are supported and vast amounts of documentation for it exists.
[9.1] Recommended
____________________________________________________________________________
Have an /etc/fstab file ready.
[9.2] Build and install grub
____________________________________________________________________________
+--------------------------------------------------------------------------+
| |
| $ kiss b grub |
| |
+--------------------------------------------------------------------------+
| Required for UEFI. |
+--------------------------------------------------------------------------+
| |
| $ kiss b efibootmgr |
| |
+--------------------------------------------------------------------------+
[9.3] Setup grub
____________________________________________________________________________
+--------------------------------------------------------------------------+
| BIOS |
+--------------------------------------------------------------------------+
| |
| $ grub-install --target=i386-pc /dev/sdX |
| $ grub-mkconfig -o /boot/grub/grub.cfg |
| |
+--------------------------------------------------------------------------+
| UEFI (replace 'esp' with the EFI mount point) |
+--------------------------------------------------------------------------+
| |
| $ grub-install --target=x86_64-efi \ |
| --efi-directory=esp \ |
| --bootloader-id=kiss |
| |
| $ grub-mkconfig -o /boot/grub/grub.cfg |
| |
+--------------------------------------------------------------------------+
[10.0] Install init scripts
________________________________________________________________________________
The default init is busybox init (though nothing ties you to it). The below
commands install the bootup and shutdown scripts as well as the default
inittab config.

If everything was done correctly, you should now be able to reboot into your
KISS installation. Typical post-installation steps should follow, see the wiki.
If you encountered any issues or have any questions, get in touch.
See: @/contact
________________________________________________________________________________
Dylan Araps (C) 2019-2021
The registered trademark Linux(R) is used pursuant to a sublicense from the
Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark
on a worldwide basis.


My Favorite Places
These are a few of my favorite places.
Past Trave
Here are some of the places I've been!
- In the US:
- Colorado where I'm from
Boulder
- San Diego
- Seattle
- Outside of the US:
- Portugal
- Turks and Caicos
- Scotland
- Japan
- England
- Malaysia
- Thailand
Here are the places I'd like to go: /h3>
These are my three favorites, in order:
- Norway
- Bali
- Japan (again!)


StarSports Advert Featuring Indian Cricketer Makes Bizarre #UnfriendshipDay Trend on Twitter
New Delhi (Sputnik): The StarSports channel has launched an advertisement for the upcoming India versus West Indies series that has sparked a huge furore on social media.
#UnfriendshipDay was trending on Twitter on Thursday following an advertisement on the sports channel featuring Indian one-day cricket team vice-captain Rohit Sharma and West Indian captain Kieron Pollard, as the two play for the same team in the Indian cricket league.
On Thursday morning, StarSports launched an advertisement on Twitter in which the two top-class cricketers exchange tweets.
In the ad, which has tickled the funny bone of cricket fans, the West Indian cricketer comes to India and is received by the Indian vice-captain Rohit Sharma at the airport. The two get into a car and enjoy music on the radio while heading to somewhere.
As the song stops, Pollard claims that it is going to be fun defeating India in India. Rohit Sharma then fakes a break down of his car and Pollard offers to help. As he gets out of the car, Sharma abandons him on the road along with his luggage.
Netizens found it hilarious and flooded the internet with more than 4,000 tweets with #UnFriendshipday.
The Indian team is scheduled to play three Twenty 20 Internationals against the West Indies with the series-opener in Mumbai on 6 December.


NATURAL BORN KILLERS A Film Review Copyright Dragan Antulov 2000
There are probably many ways to classify connoisseurs of modern cinema. One of them is to divide them into two very distinct camps - those who worship Oliver Stone's 1994 film NATURAL BORN KILLERS as the ultimate cinematic masterpiece of its time and those who think of it as nothing more than celluloid equivalent of an horse manure on hot desert road. The author of this review usually avoids extreme opinions and tries to reach middle ground whenever possible. However, in the case of NATURAL BORN KILLERS such efforts were fruitless. I was forced to take one of those extreme stands and I took the latter one.
There are many reasons why my dislike of NATURAL BORN KILLERS takes dimensions beyond those reserved for usual Hollywood stinkers. One of them is the fact that Oliver Stone used all two hours of this film as an opportunity to show the world that he could master all visual techniques of filmmaking. This demonstration includes use of both colour and black-and-white photography, 35mm and Super 8, various film stock, slow-motion, fast-motion, all possible camera angles and all possible ways camera can record light. Unfortunately, rapid editing is also part of this demonstration and the ultimate impression comes in the form of nausea for many unfortunate souls who were introduced to NATURAL BORN KILLERS in theatres (same effect is less visible among those viewers, who were wise to watch this film on video, in much safer environment of their own homes).
Of course, some of Stone's supporters claim that the aforementioned nausea was the aim of this film. This nausea was supposed to be the only way for Oliver Stone to deliver his Message to masses, who would miss it in the hands of more conventional director. This Message, however, was supposed to come from the original script by Quentin Tarantino - dark satire about American media obsession with crime and violence. Unfortunately, this script came to the hands of Oliver Stone and two of his co-writers - Danny Veloz and Richard Rutowsky. Their treatment of Tarantino's text was probably equal to the way Jack the Ripper had treated London women, so Tarantino disowned his screenplay.
The protagonists of this film are two outcasts - Mickey Knox (played by Woody Harrelson) and his girlfriend Mallory Wilson (played by Juliette Lewis). Starting with Mallory's abusing father Ed (played by Rodney Dangerfield) two of them engage in the series of random killings. Since they always leave a witness after their killing sprees and since they always take credit for the murders, this pair of serial killers is turned into media celebrities. They are equally hounded by psychopathic lawman Jack Scagnetti (played by Tom Sizemore) and scruples TV show host Wayne Gale (played by Robert Downey Jr.). Their capture and trial is not the end of their killing spree nor of media madness - Wayne Gale is coming to prison, run by sadistic warden Dwight McClusky (played by Tommy Lee Jones) in order to make exclusive TV interview with Mickey that would lead to the new cycle of violence.
If we are to believe Oliver Stone and many of the critics who hailed this work as masterpiece, NATURAL BORN KILLERS was supposed to be something like a wake-up call to America, celluloid protest against media-induced national obsession with crime and violence, condemnation of the culture that turns psychopathic killers into heroes of popular culture. Unfortunately, Stone's film, despite the intentions of the author, turned into something quite different. Unable to resist his urges to turn this film into his life-long personal crusade against Establishment, and lacking any sense of subtlety, Stone watered down his original intentions by redirecting his anger and unleashing his creative demons on too many targets at once - media, law enforcement, family, society and civilisation in general. In the end, this film totally misses the point and turns into the exact thing Stone wanted to criticise - by showing Mickey and Mallory as heroes, romantic rebels whose loves transcends traditional morality, Stone glamorises violence, murder and all the most virulent forms of sociopathic behaviour.
The last and most sinister aspect of NATURAL BORN KILLERS revealed itself to the author of this review in real life. Few years ago I witnessed rather unpleasant scene involving certain menacing but obviously drugged-out individual who was trying to intimidate persons around them by publicly proclaiming his love for NATURAL BORN KILLERS. This little incident corresponded with series of media reports about real life acts of violence being inspired by NATURAL BORN KILLERS (or, to be more precise, their perpetrators trying to diminish their own responsibility by putting all the blame on Stone's work). And all those reports, hyped out of proportions (like Columbine massacre and alleged MATRIX influence), can serve certain political agendas - agendas that manifest themselves in strengthened censorship, suspension of individual rights and other measures that would increase power of the same institutions Stone tried to attack in his film. When this happens, failure of NATURAL BORN KILLERS would be complete.
RATING: 1/10 (--)
Review written on July 18th 2000
Dragan Antulov a.k.a. Drax Fido: 2:381/100 E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>E-mail<EMAIL_ADDRESS>Filmske recenzije na hrvatskom/Movie Reviews in Croatian http://film.purger.com
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


Object Recognition in Images
LDCE IT
Credits
(current)
Live Camera
Upload Image
(current)
Local Video
(current)
Coco Classes List
(current)


Live in your browser, powered by Comunica.
Discover how Linked Data Fragments enable Web-scale querying of Linked Data.


Final Fantasy 14 will finally come to Xbox One at some point
by Stephany NunneleyFinal Fantasy 14 is coming to Xbox One at some point.

According to Xbox boss Phil Spencer, the MMORPG will be coming to the console in the future.
We had heard the game was coming to Xbox One, but because FF14 wasn’t one of the ten Final Fantasy games announced last night, we didn’t share the news from our source.
But speaking with the press after the x019 show, Spencer assured folks Microsoft and Square Enix were working on a solution.
“The astute people out there might have noticed there’s one Final Fantasy that’s missing in our list: number 14. 14 is one I’ve been dedicated to working with Yoshida-san on to find a solution to bring that game to Xbox,” per Eurogamer (thanks, smd) “And while it’s not in the news today, I wanted you to know, rest assured, that we will be bringing that game to Xbox.
“We have a great relationship with Yoshida-san, and we’re working through what it means to bring a cross-platform MMO that they’ve run for years. But it will be one of the games that’s coming and it’s something I know our Xbox fans will be incredibly excited to see.”
When the MMO was revamped as Final Fantasy 14: A Realm Reborn and released on PC and PS3, many wondered why it was absent from Microsoft’s current console at the time, Xbox 360.
According to Square, it was due to Microsoft policies preventing cross-play between PC, PS3 and Xbox 360. The firm did not wish to divide the community as PC and PlayStation users were, and still are, able to play together.
Things have changed since then, as Microsoft is now keen on cross-play between platforms. Sony is still a holdout in some instances of cross-play between platforms but has relented a bit recently.
Games featured in this article


You've reached soulwing.org. This site is operated by Carl Harris and will soon provide information about my open source projects. Meanwhile, you can visit Soulwing on Github for access to my open source projects.


Hi folks, not sure if this is the right forum, so please move if required.
I've got the emonTX v3.4 with two CT's, one on the grid cable and one on the PV generation, and my PV is type 2, so I have the AC adaptor from the shop. I have a Raspberry Pi with RFM69Pi running emonbase 3.18.7+ #755 and posting to emoncms.org.
I've had this for a few weeks, and have enjoyed playing and learning (and reading lots of forum posts) and solved most of the problems and questions, but I am still stuck with this one - emoncms calculates the daily PV generation around 6-8% higher than my PV generation meter. This equates to between 0.5 and 1 kWh extra depending on how much is generated that day.
I also have the 'issue' that apparently my PV is generating power at night, usually between 4-8 watts. I know that the inverter will consume some power at night, and so I would expect this reading to be negative, but it's always positive. Could this indicate that something is causing the PV reading to always be higher than it should be, enough to convert a negative value at night into a positive value?
I was wondering if this could be caused by 'crosstalk' from the CT on the grid cable, as the two cables run alongside each other. My consumer unit is located inside a kitchen wall-cupboard, and the cables from the two CT's are routed together through a gap in the cupboard up to the emonTX which sits on top of the cupboard, out of sight (and hard to reach). Could this be the issue?
Final disclosure - the CT on my grid feed is the wrong way round - i.e. it reports negative when importing. However, due to the very tight cables and restricted access caused by the cupboard, I was not able to get the CT on the other way around. Therefore in the Inputs section in emoncms, I start by multiplying the grid value by -1 as the first process step to reverse the grid value. Hopefully this isn't causing the problem?
Appreciate any suggestions.
Ian
Re: Difference between Solar Generation meter and emonTX values
Update - and help still needed please:
I have just used the USB UART connection to connect to the emonTXv3 and monitor the output, and found something interesting. When the emonTX was only powered by the USB UART connection, the values from the CT's were significantly different than when I switched on the AC adaptor:
(CT1 is PV, CT2 is grid, test was at night so PV was not generating, and so CT1 is presumably the Inverter consumption)
When powered only via the USB UART:
emonTx V3 Discrete Sampling V1.60 RFM69CW
OpenEnergyMonitor.org
POST.....wait 10s
CT 1 Calibration: 90.90
CT 2 Calibration: 90.90
CT 3 Calibration: 90.90
CT 4 Calibration: 16.67
RMS Voltage on AC-AC Adapter input is: ~1V
AC-AC adapter NOT detected - Apparent Power measurements enabled
Assuming VRMS to be 230V
Assuming powering from batteries / 5V USB - power saving mode enabled
CT 1 detected
CT 2 detected
Unable to detect DS18B20 temperature sensor
RFM69CW Initiated:
Node: 10 Freq: 433Mhz Network: 210
CT1 CT2 CT3 CT4 VRMS/BATT PULSE
82 398 0 0 530 0
80 403 0 0 530 0
78 403 0 0 533 0
79 397 0 0 523 0
79 395 0 0 532 0
79 402 0 0 525 0
79 367 0 0 525 0
79 369 0 0 528 0
79 367 0 0 525 0
79 370 0 0 529 0
Then I switched on the AC socket, and reset the emonTX:
emonTx V3 Discrete Sampling V1.60 RFM69CW
OpenEnergyMonitor.org
POST.....wait 10s
CT 1 Calibration: 90.90
CT 2 Calibration: 90.90
CT 3 Calibration: 90.90
CT 4 Calibration: 16.67
RMS Voltage on AC-AC Adapter input is: ~247V
AC-AC adapter detected - Real Power measurements enabled
assuming powering from AC-AC adapter (jumper closed)
Vcal: 268.97
Phase Shift: 1.70
CT 1 detected
CT 2 detected
Unable to detect DS18B20 temperature sensor
RFM69CW Initiated:
Node: 10 Freq: 433Mhz Network: 210
CT1 CT2 CT3 CT4 VRMS/BATT PULSE
6 -263 0 0 24866 0
9 -262 0 0 24786 0
9 -262 0 0 24805 0
7 -266 0 0 24872 0
6 -264 0 0 24812 0
6 -265 0 0 24895 0
7 -263 0 0 24918 0
5 -265 0 0 24924 0
5 -263 0 0 24785 0
8 -259 0 0 24707 0
6 -261 0 0 24786 0
CT1 (PV) has now dropped by factor of 10, and CT2 (grid) has also dropped alot. We are currently importing from grid, but CT2 is negative because the CT faces the wrong way due to lack of space, so in emoncms I invert the value by multiplying by -1.
The RMS is ~247, and I have now connected a Maplin power monitor which shows ~240 volts. This is the same socket, as the AC adaptor uses, and it was done straight away so I doubt much has changed in the house. Should there be this much difference in the voltage? The AC adaptor is the Ideal Power DB-06-09 and it came from the OEM shop at the same time as the emontx3 and the two CT's
I have been logging VRMS for over a month and it's always been around 248 (before the Maplin monitor was in place). If the voltage is being detected incorrectly and affecting the calculations, presumably that could explain why the results are so different to the generation meter ? Do I need to calibrate the system ?
Ian
Re: Difference between Solar Generation meter and emonTX values
You certainly should calibrate the system if you need accurate values. All the components are subject to normal manufacturing tolerances, and there's no trimming or calibration done prior to shipment.
You are seeing different values when you're powering the emonTx via the programmer because without the ac adapter, like it says, it is "Assuming VRMS to be 230V" (and the "power" is VA, not Watts, so you don't know the direction), whereas with the adapter it's using the 247 V it measured.
In any case, measurements below about 1% are subject to increasing errors - due to the 10-bit ADC used, so at 300 W or so you should not be expecting great accuracy.
Going back to your earlier questions, adding the (-1) multiplier in emonCMS is a perfectly valid way to change the sign. And there might well be some crosstalk from an adjacent cable. I did some measurements - they're in the report on the CT.
Re: Difference between Solar Generation meter and emonTX values
Hi Robert, thanks for your response.
Perhaps I had been mislead, or just misunderstood the line from the emontx page "This is the main firmware for the emonTx V3 and has been tested and calibrated." which lead me to think I didn't need to calibrate.
Now I'll start reading those pages about calibration - Thanks
Re: Difference between Solar Generation meter and emonTX values
Hmmm. I think that needs editing. The sketch has been fully tested, i.e. it does what it should, and doesn't do anything it shouldn't, and the calibration constants are set for the nominal centre values of all the (applicable) components.
Re: Difference between Solar Generation meter and emonTX values
Success !! - I think ...
I think I have now calibrated the voltage - need to run it for a bit and see, but it took me a while as I got tripped up by the instructions on the calibration page (please remember, I am a newbie, and not an electrician so this more challenging for me than you might expect!)
Step 1 of the calibration page says that if using the emonTX v3 (which I am) that I can use the default sketch, but need to add some print statements. I hoped the print statements might already be in the sketch and commented out, and I was going to make this as a suggestion for improvement, but, with the programmer connected, the console includes a value for VRMS, so I wasn't sure what else I should need to print? In the end I used this value and it seems to be working, so maybe additional print statement is no longer required? (or I have messed up!)
Step 2 says to measure the Voltage and adjust the constant. After a while I worked out that I needed to only adjust Vcal as I am using AC adaptor, and so VRMS is not relevant. Assuming that's correct, perhaps the notes could be clarified?
But then what also caught me out in step 2 was that it said to update Vcal so that emonTX shows same voltage as the meter, and so I tried to update the Vcal using the formula from inside the sketch - i.e. Vcal = (230V x 13) / (9V x 1.2) replacing 230 with the reading from my Maplin plug in power meter, but the values never got close. But then I wondered if I should have done the next step first - to use the formula for "New calibration" in the grey box? I tried that, updated Vcal using the new value, and then my emontx showed VRMS values that are very close to the volts on the Maplin power meter !! So, assuming this is correct, perhaps a tweak to step 2 to make it clear to use the "New calibration" formula before expecting emontx to match the meter ?
You may think I'm just being picky (or plain dumb), but in my 30 years in IT, I know that you can always rely on end-users to finds way of misunderstanding instructions, and it can be hard to write fool-proof guidance until you have a fool to test them. So I am hoping my feedback might help others in the future (unless what I have done is still wrong !!)
P.S. I've only calibrated voltage so far - and will see how the PV readings compare with my PV Generation meter over a couple of days. If I need to calibrate the current, I need to find a device where I can get a CT around just one wire.
Re: Difference between Solar Generation meter and emonTX values
The major problem is, that calibration page was written when there was only the V2, and no "continuous" sketches that use an entirely different calibration procedure. So it's been "patched" in an attempt to keep up with all the variants. Provided the sketch gives the same answers as your meter, whichever way you got there is correct!
When I get time, I'll try to remember to go back and check the whole thing - maybe it needs to be split into several procedures for different hardware.
The normal way to get at the wires to hang a CT on is to wire a plug to a socket using three single-core wires.


Eight-puzzle
Language: Teaching Script Entire Dialog
World states:
init-8puzzlerc.world
final-8puzzlerc.world
Primitive concepts used
Object types:
|
locations, blocks |
Colors:
|
red, blue
|
| Spatial relations: |
on, below, between |
| Functions: |
count of, less than |
Teaching Dialog (Rosie in bold)
TEACHER: The name of the puzzle is eight-puzzle.
Please setup the puzzle.
TEACHER: Load init-8puzzlerc.
Ok.
TEACHER: Ok.
Please describe the actions, goals, and failure conditions.
TEACHER: The name of the action is slide-block.
What are the conditions of the action.
TEACHER: If a block is adjacent to a clear location then you can move the block onto the clear location.
Please describe the meaning of 'clear' in this context.
TEACHER: If a location is not below an object then it is clear.
Ok, I've learned the meaning of 'clear' for this context.
Please describe the meaning of 'adjacent' in this context.
TEACHER: If a location is next to an object but it is not diagonal with the object then it is adjacent to the object.
Ok, I've learned the meaning of 'adjacent' for this context.
I've learned the action.
TEACHER: Load final-8puzzlerc.
Ok.
TEACHER: The goal is that there are eight matched locations.
Please setup the goal state.
TEACHER: Ok.
Please describe the meaning of 'matched' in this context.
TEACHER: If the color of a location is the color of the block that is on the location then the location is matched.
Ok, I've learned the meaning of 'matched' for this context.
I've learned the goal.
TEACHER: Done.
I've learned eight-puzzle. Should I try to solve the puzzle?
TEACHER: No.
Ok.


Drinfeld module morphisms#
This module provides the class
sage.rings.function_fields.drinfeld_module.morphism.DrinfeldModuleMorphism
.
AUTHORS: - Antoine Leudière (2022-04)
- class sage.rings.function_field.drinfeld_modules.morphism.DrinfeldModuleMorphism(parent, ore_pol)#
Bases:
Morphism
,UniqueRepresentation
This class represents Drinfeld \(\mathbb{F}_q[T]\)-module morphisms.
Let \(\phi\) and \(\psi\) be two Drinfeld \(\mathbb{F}_q[T]\)-modules over a field \(K\). A morphism of Drinfeld modules \(\phi \to \psi\) is an Ore polynomial \(f \in K\{\tau\}\) such that \(f \phi_a = \psi_a f\) for every \(a \in \mathbb{F}_q[T]\). In our case, this is equivalent to \(f \phi_T = \psi_T f\). An isogeny is a nonzero morphism.
To create a morphism object, the user should never explicitly instantiate
DrinfeldModuleMorphism
, but rather call the parent homset with the defining Ore polynomial:sage: Fq = GF(4) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, z^2 + z, z^2 + z]) sage: t = phi.ore_polring().gen() sage: ore_pol = t + z^5 + z^3 + z + 1 sage: psi = phi.velu(ore_pol) sage: morphism = Hom(phi, psi)(ore_pol) sage: morphism Drinfeld Module morphism: From: Drinfeld module defined by T |--> (z^2 + z)*t^2 + (z^2 + z)*t + z To: Drinfeld module defined by T |--> (z^5 + z^2 + z + 1)*t^2 + (z^4 + z + 1)*t + z Defn: t + z^5 + z^3 + z + 1
The given Ore polynomial must indeed define a morphism:
sage: morphism = Hom(phi, psi)(1) Traceback (most recent call last): ... ValueError: Ore polynomial does not define a morphism
One can get basic data on the morphism:
sage: morphism.domain() Drinfeld module defined by T |--> (z^2 + z)*t^2 + (z^2 + z)*t + z sage: morphism.domain() is phi True sage: morphism.codomain() Drinfeld module defined by T |--> (z^5 + z^2 + z + 1)*t^2 + (z^4 + z + 1)*t + z sage: morphism.codomain() is psi True
sage: morphism.ore_polynomial() t + z^5 + z^3 + z + 1 sage: morphism.ore_polynomial() is ore_pol True
One can check various properties:
sage: morphism.is_zero() False sage: morphism.is_isogeny() True sage: morphism.is_endomorphism() False sage: morphism.is_isomorphism() False
- characteristic_polynomial(var='X')#
Return the characteristic polynomial of this endomorphism.
INPUT:
var
– a string (default:X
), the name of the variable of the characteristic polynomial
EXAMPLES:
sage: Fq = GF(5) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, 0, 1, z]) sage: f = phi.frobenius_endomorphism() sage: f.characteristic_polynomial() X^3 + (T + 1)*X^2 + (2*T + 3)*X + 2*T^3 + T + 1
We verify, on an example, that the caracteristic polynomial of a morphism corresponding to \(\phi_a\) is \((X-a)^r\) where \(r\) is the rank:
sage: g = phi.hom(T^2 + 1) sage: chi = g.characteristic_polynomial() sage: chi.factor() (X + 4*T^2 + 4)^3
An example with another variable name:
sage: f.characteristic_polynomial(var='Y') Y^3 + (T + 1)*Y^2 + (2*T + 3)*Y + 2*T^3 + T + 1
- charpoly(var='X')#
Return the characteristic polynomial of this endomorphism.
INPUT:
var
– a string (default:X
), the name of the variable of the characteristic polynomial
EXAMPLES:
sage: Fq = GF(5) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, 0, 1, z]) sage: f = phi.frobenius_endomorphism() sage: chi = f.charpoly() sage: chi X^3 + (T + 1)*X^2 + (2*T + 3)*X + 2*T^3 + T + 1
We check that the characteristic polynomial annihilates the morphism (Cayley-Hamilton’s theorem):
sage: chi(f) Endomorphism of Drinfeld module defined by T |--> z*t^3 + t^2 + z Defn: 0
We verify, on an example, that the caracteristic polynomial of the morphism corresponding to \(\phi_a\) is \((X-a)^r\) where \(r\) is the rank:
sage: g = phi.hom(T^2 + 1) sage: g.charpoly().factor() (X + 4*T^2 + 4)^3
An example with another variable name:
sage: f.charpoly(var='Y') Y^3 + (T + 1)*Y^2 + (2*T + 3)*Y + 2*T^3 + T + 1
- dual_isogeny()#
Return a dual isogeny to this morphism.
By definition, a dual isogeny of \(f : \phi \to \psi\) is an isogeny \(g : \psi \to \phi\) such that the composite \(g \circ f\) is the multiplication by a generator of the norm of \(f\).
EXAMPLES:
sage: Fq = GF(5) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, 0, 1, z]) sage: t = phi.ore_variable() sage: f = phi.hom(t + 1) sage: f Drinfeld Module morphism: From: Drinfeld module defined by T |--> z*t^3 + t^2 + z To: Drinfeld module defined by T |--> (2*z^2 + 4*z + 4)*t^3 + (3*z^2 + 2*z + 2)*t^2 + (2*z^2 + 3*z + 4)*t + z Defn: t + 1 sage: g = f.dual_isogeny() sage: g Drinfeld Module morphism: From: Drinfeld module defined by T |--> (2*z^2 + 4*z + 4)*t^3 + (3*z^2 + 2*z + 2)*t^2 + (2*z^2 + 3*z + 4)*t + z To: Drinfeld module defined by T |--> z*t^3 + t^2 + z Defn: z*t^2 + (4*z + 1)*t + z + 4
We check that \(f \circ g\) (resp. \(g \circ f\)) is the multiplication by the norm of \(f\):
sage: a = f.norm().gen(); a T + 4 sage: g * f == phi.hom(a) True sage: psi = f.codomain() sage: f * g == psi.hom(a) True
- inverse()#
Return the inverse of this morphism.
Only morphisms defined by constant nonzero Ore polynomials are invertible.
EXAMPLES:
sage: Fq = GF(5) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, 1, z, z^2]) sage: f = phi.hom(2); f Endomorphism of Drinfeld module defined by T |--> z^2*t^3 + z*t^2 + t + z Defn: 2 sage: f.inverse() Endomorphism of Drinfeld module defined by T |--> z^2*t^3 + z*t^2 + t + z Defn: 3
Inversion of general isomorphisms between different Drinfeld modules also works:
sage: g = phi.hom(z); g Drinfeld Module morphism: From: Drinfeld module defined by T |--> z^2*t^3 + z*t^2 + t + z To: Drinfeld module defined by T |--> z^2*t^3 + (z^2 + 2*z + 3)*t^2 + (z^2 + 3*z)*t + z Defn: z sage: g.inverse() Drinfeld Module morphism: From: Drinfeld module defined by T |--> z^2*t^3 + (z^2 + 2*z + 3)*t^2 + (z^2 + 3*z)*t + z To: Drinfeld module defined by T |--> z^2*t^3 + z*t^2 + t + z Defn: 3*z^2 + 4
When the morphism is not invertible, an error is raised:
sage: F = phi.frobenius_endomorphism() sage: F.inverse() Traceback (most recent call last): ... ZeroDivisionError: this morphism is not invertible
- is_identity()#
Return
True
whether the morphism is the identity morphism.EXAMPLES:
sage: Fq = GF(2) sage: A.<T> = Fq[] sage: K.<z6> = Fq.extension(6) sage: phi = DrinfeldModule(A, [z6, 1, 1]) sage: morphism = End(phi)(1) sage: morphism.is_identity() True
sage: psi = DrinfeldModule(A, [z6, z6^4 + z6^2 + 1, 1]) sage: t = phi.ore_polring().gen() sage: morphism = Hom(phi, psi)(t + z6^5 + z6^2 + 1) sage: morphism.is_identity() False
- is_isogeny()#
Return
True
whether the morphism is an isogeny.EXAMPLES:
sage: Fq = GF(2) sage: A.<T> = Fq[] sage: K.<z6> = Fq.extension(6) sage: phi = DrinfeldModule(A, [z6, 1, 1]) sage: psi = DrinfeldModule(A, [z6, z6^4 + z6^2 + 1, 1]) sage: t = phi.ore_polring().gen() sage: morphism = Hom(phi, psi)(t + z6^5 + z6^2 + 1) sage: morphism.is_isogeny() True
sage: zero_morphism = End(phi)(0) sage: zero_morphism.is_isogeny() False
sage: identity_morphism = End(phi)(1) sage: identity_morphism.is_isogeny() True
sage: frobenius_endomorphism = phi.frobenius_endomorphism() sage: frobenius_endomorphism.is_isogeny() True
- is_isomorphism()#
Return
True
whether the morphism is an isomorphism.EXAMPLES:
sage: Fq = GF(2) sage: A.<T> = Fq[] sage: K.<z6> = Fq.extension(6) sage: phi = DrinfeldModule(A, [z6, 1, 1]) sage: psi = DrinfeldModule(A, [z6, z6^4 + z6^2 + 1, 1]) sage: t = phi.ore_polring().gen() sage: morphism = Hom(phi, psi)(t + z6^5 + z6^2 + 1) sage: morphism.is_isomorphism() False
sage: zero_morphism = End(phi)(0) sage: zero_morphism.is_isomorphism() False
sage: identity_morphism = End(phi)(1) sage: identity_morphism.is_isomorphism() True
sage: frobenius_endomorphism = phi.frobenius_endomorphism() sage: frobenius_endomorphism.is_isomorphism() False
- is_zero()#
Return
True
whether the morphism is the zero morphism.EXAMPLES:
sage: Fq = GF(2) sage: A.<T> = Fq[] sage: K.<z6> = Fq.extension(6) sage: phi = DrinfeldModule(A, [z6, 1, 1]) sage: psi = DrinfeldModule(A, [z6, z6^4 + z6^2 + 1, 1]) sage: t = phi.ore_polring().gen() sage: morphism = Hom(phi, psi)(t + z6^5 + z6^2 + 1) sage: morphism.is_zero() False
sage: zero_morphism = End(phi)(0) sage: zero_morphism.is_zero() True
- norm(ideal=True)#
Return the norm of this isogeny.
INPUT:
ideal
– a boolean (default:True
); ifTrue
, return the norm as an ideal in the function ring of the Drinfeld modules; ifFalse
, return the norm as an element in this function ring (only relevant for endomorphisms)
EXAMPLES:
sage: Fq = GF(5) sage: A.<T> = Fq[] sage: K.<z> = Fq.extension(3) sage: phi = DrinfeldModule(A, [z, 0, 1, z]) sage: t = phi.ore_variable() sage: f = phi.hom(t + 1) sage: f.norm() Principal ideal (T + 4) of Univariate Polynomial Ring in T over Finite Field of size 5
The norm of the Frobenius endomorphism is equal to the characteristic:
sage: F = phi.frobenius_endomorphism() sage: F.norm() Principal ideal (T^3 + 3*T + 3) of Univariate Polynomial Ring in T over Finite Field of size 5 sage: phi.characteristic() T^3 + 3*T + 3
For \(a\) in the underlying function ring, the norm of the endomorphism given by \(\phi_a\) is \(a^r\) where \(r\) is the rank:
sage: g = phi.hom(T) sage: g.norm() Principal ideal (T^3) of Univariate Polynomial Ring in T over Finite Field of size 5 sage: h = phi.hom(T+1) sage: h.norm() Principal ideal (T^3 + 3*T^2 + 3*T + 1) of Univariate Polynomial Ring in T over Finite Field of size 5
For endomorphisms, the norm is not an ideal of \(A\) but it makes sense as an actual element of \(A\). We can get this element by passing in the argument
ideal=False
:sage: phi.hom(2*T).norm(ideal=False) 3*T^3 sage: f.norm(ideal=False) Traceback (most recent call last): ... ValueError: norm is defined as an actual element only for endomorphisms
- ore_polynomial()#
Return the Ore polynomial that defines the morphism.
EXAMPLES:
sage: Fq = GF(2) sage: A.<T> = Fq[] sage: K.<z6> = Fq.extension(6) sage: phi = DrinfeldModule(A, [z6, 1, 1]) sage: psi = DrinfeldModule(A, [z6, z6^4 + z6^2 + 1, 1]) sage: t = phi.ore_polring().gen() sage: morphism = Hom(phi, psi)(t + z6^5 + z6^2 + 1) sage: ore_pol = morphism.ore_polynomial() sage: ore_pol t + z6^5 + z6^2 + 1
sage: ore_pol * phi(T) == psi(T) * ore_pol True


Made for teachers to facilitate the coordination of team activities.
ABClassroom is a free online tool built to help teachers organise group activities.
Teachers can create a virtual class and invite students to join via email. Teachers can also send students priority invites for meeting and grouping. Grouping is made easy by giving students a fixed time to choose the group they want to be in.


Description: Bind an event handler to the "focusin" event.
handler(eventObject): Function() A function to execute each time the event is triggered.
eventData: Object A map of data that will be passed to the event handler.
handler(eventObject): Function() A function to execute each time the event is triggered.
This method is a shortcut for .bind('focusin', handler)
.
The focusin
event is sent to an element when it, or any element inside of it, gains focus. This is distinct from the focus event in that it supports detecting the focus event on parent elements (in other words, it supports event bubbling).
This event will likely be used together with the focusout event.
<!DOCTYPE html>

<input type="text" /> focusin fire

<input type="password" /> focusin fire