Try new Java 9 REPL before the release
linkThis blog post aims to explain how to install the Java REPL before it is released and its features.
This blog post aims to explain how to install the Java REPL before it is released and its features.
This screencast demonstrate how to develop a feature using the double loop TDD approach.
This technical blog post demonstrates how to develop a web application using Jersey and Spring without xml configuration or getters and setters.
The article describes the cloud from a developper's point of view. First, I presents the main providers (Amazon, Cloudbees, Heroku, Google, etc) and then the best practices to use when deploying applications into the cloud.


Capabilities is an autogenerated mock type for the Capabilities type
type Capabilities struct { mock.Mock }
func (_m *Capabilities) ACLs() bool
ACLs provides a mock function with given fields:
func (_m *Capabilities) CollectionUpgrade() bool
CollectionUpgrade provides a mock function with given fields:
func (_m *Capabilities) FabToken() bool
FabToken provides a mock function with given fields:
func (_m *Capabilities) ForbidDuplicateTXIdInBlock() bool
ForbidDuplicateTXIdInBlock provides a mock function with given fields:
func (_m *Capabilities) KeyLevelEndorsement() bool
KeyLevelEndorsement provides a mock function with given fields:
func (_m *Capabilities) MetadataLifecycle() bool
MetadataLifecycle provides a mock function with given fields:
func (_m *Capabilities) PrivateChannelData() bool
PrivateChannelData provides a mock function with given fields:
func (_m *Capabilities) StorePvtDataOfInvalidTx() bool
StorePvtDataOfInvalidTx provides a mock function with given fields:
func (_m *Capabilities) Supported() error
Supported provides a mock function with given fields:
func (_m *Capabilities) V1_1Validation() bool
V1_1Validation provides a mock function with given fields:
func (_m *Capabilities) V1_2Validation() bool
V1_2Validation provides a mock function with given fields:
func (_m *Capabilities) V1_3Validation() bool
V1_3Validation provides a mock function with given fields:
IdentityDeserializer is an autogenerated mock type for the IdentityDeserializer type
type IdentityDeserializer struct { mock.Mock }
func (_m *IdentityDeserializer) DeserializeIdentity(serializedIdentity []byte) (validation.Identity, error)
DeserializeIdentity provides a mock function with given fields: serializedIdentity
PolicyEvaluator is an autogenerated mock type for the PolicyEvaluator type
type PolicyEvaluator struct { mock.Mock }
func (_m *PolicyEvaluator) Evaluate(policyBytes []byte, signatureSet []*common.SignedData) error
Evaluate provides a mock function with given fields: policyBytes, signatureSet
StateFetcher is an autogenerated mock type for the StateFetcher type
type StateFetcher struct { mock.Mock }
func (_m *StateFetcher) FetchState() (validation.State, error)
FetchState provides a mock function with given fields:


--- layout: default title: "404: Page not found" permalink: 404.html ---
Here's the pointer back to safety.


After winning I.D.E.A. (Innovate Delhi Entrepreneurship Academy) organized by Stanford GSB it was quite apparent that I wanted to learn more about Startups and contribute to the startup ecosystem in and around Delhi.
Little had I known when I started, that an entrepreneurial program would eventually prove to become my moment of epiphany. Revolutionary ideas, motivating speeches, world-class speakers - it was an incredibly vibrant atmosphere, and in many ways proved to be a stimulus that led me in search of a new sphere of working where I could independently bring tangibility to new ideas, and let the entrepreneur in me shine. The program was about how to innovate and find innovative solutions for challenging problems with technology and build products for the future.
I returned home to find myself instilled with refreshing confidence that I could be a successful entrepreneur one day. During the program, I learnt about the end-to-end process of venture design from Stanford professors and entrepreneurs from Silicon Valley. Their experience on topics such as the venture ecosystem, identifying market opportunities, design thinking, MVP, scaling a startup, and leading a venture was quite enriching. In the third week of program, we were divided in small teams to create a complete venture plan consisting of a market analysis, a mock up of the product, and a pitch to potential investors. My team presented the idea of ‘Surfing Couch’, a technology product to make global WiFi sharing possible. For 3 weeks, 24 hours a day my ideas were challenged, and it felt exciting to be in the shoes of an entrepreneur.
I wanted to challenge myself post I.D.E.A so I decided to pursue my MBA to gain the necessary business skills. With this new goal in mind, my MBA journey got kickstarted. I am quite excited that I will officially start my journey soon in Fall'16 at Olin Business School at Washington University, St. Louis
I hope to utilize the next two years to sharpen my business knowledge and continue to experiment with my ideas and hopefully bring to life some of them ! I am quite excited to start this new phase of my life.


Methods summary
public
|
#
Image_Canvas_GD( array $param )
Create the GD canvas.
Parameters available:
'width' The width of the graph on the canvas
'height' The height of the graph on the canvas
'left' The left offset of the graph on the canvas
'top' The top offset of the graph on the canvas
'antialias' = 'native' enables native GD antialiasing - this method has no
severe impact on performance (approx +5%). Requires PHP 4.3.2 (with bundled
GD2)
'antialias' = {true|'driver'} Image_Graph implemented method. This method has
a severe impact on performance, drawing an antialiased line this way is about XX
times slower, with an overall performance impact of about +40%. The
justification for this method is that if native support is not available this
can be used, it is also a future feature that this method for antialiasing will
support line styles.
Use antialiased for best results with a line/area chart having just a few
datapoints. Native antialiasing does not provide a good appearance with short
lines, as for example with smoothed charts. Antialiasing does not (currently)
work with linestyles, neither native nor driver method!
'noalpha' = true If alpha blending is to be disabled
'filename' An image to open, on which the graph is created on
'gd' A GD resource to add the image to, use this option to continue working
on an already existing GD resource. Make sure this is passed 'by- reference'
(using &)
'usemap' Initialize an image map
'gd' and 'filename' are mutually exclusive with 'gd' as preference
'width' and 'height' are required unless 'filename' or 'gd' are specified, in
which case the width and height are taken as the actual image width/height. If
the latter is the case and 'left' and/or 'top' was also specified, the actual
'width'/'height' are altered so that the graph fits inside the canvas (i.e
'height' = actual height - top, etc.)
Parameters
- $param
array $param Parameter array
|
public
mixed
&
|
#
_getGD( string $filename )
Get an GD image resource from a file
Get an GD image resource from a file
Parameters
- $filename
string $filename
Returns
mixed The GD image resource
|
public
integer
|
#
_color( integer $color = false )
Get the color index for the RGB color
Get the color index for the RGB color
Parameters
- $color
integer $color The color
Returns
integer The GD image index of the color
|
public
mixed
|
#
_getLineStyle( mixed $lineStyle = false )
Get the GD applicable linestyle
Get the GD applicable linestyle
Parameters
- $lineStyle
mixed $lineStyle The line style to return, false if the one explicitly set
Returns
mixed A GD compatible linestyle
|
public
mixed
|
#
_getFillStyle( mixed $fillStyle = false, mixed $x0 = 0, mixed $y0 = 0, mixed $x1 = 0, mixed $y1 = 0 )
Get the GD applicable fillstyle
Get the GD applicable fillstyle
Parameters
- $fillStyle
mixed $fillStyle The fillstyle to return, false if the one explicitly set
- $x0
- $y0
- $x1
- $y1
Returns
mixed A GD compatible fillstyle
|
public
|
#
setFillImage( string $filename )
Sets an image that should be used for filling
Sets an image that should be used for filling
Parameters
- $filename
string $filename The filename of the image to fill with
Overrides
|
public
|
#
setFont( array $fontOptions )
Sets the font options.
The $font array may have the following entries:
'ttf' = the .ttf file (either the basename, filename or full path) If 'ttf'
is specified, then the following can be specified
'size' = size in pixels
'angle' = the angle with which to write the text
Parameters
- $fontOptions
array $font The font options.
Overrides
|
public
array
&
|
#
_linePixels( integer $x0, integer $y0, integer $x1, integer $y1 )
Calculate pixels on a line
Calculate pixels on a line
Parameters
- $x0
integer $x0 X start point
- $y0
integer $y0 X start point
- $x1
integer $x1 X end point
- $y1
integer $y1 Y end point
Returns
array An associated array of x,y points with all pixels on the line
|
public
|
#
_antialiasedLine( integer $x0, integer $y0, integer $x1, integer $y1, mixed $color = false )
Draws an antialiased line
Draws an antialiased line
Parameters
- $x0
integer $x0 X start point
- $y0
integer $y0 X start point
- $x1
integer $x1 X end point
- $y1
integer $y1 Y end point
- $color
mixed $color The line color, can be omitted
|
public
|
#
_antialiasedPixel( integer $x, integer $y, mixed $color )
Draws an antialiased pixel
Draws an antialiased pixel
Parameters
- $x
integer $x X point
- $y
integer $y Y point
- $color
mixed $color The pixel color
|
public
|
#
_antialisedSubPixel( integer $x, integer $y, integer $a, integer $b, mixed $color )
Antialias'es the pixel around x,y with weights a,b
Antialias'es the pixel around x,y with weights a,b
Parameters
- $x
integer $x X point
- $y
integer $y Y point
- $a
integer $a The weight of the current color
- $b
integer $b The weight of the applied/wanted color
- $color
mixed $color The pixel color
|
public
|
#
drawEnd( array $params )
Draw a line end
Parameter array:
'x': int X point
'y': int Y point
'end': string The end type of the end
'size': int The size of the end
'color': string The color of the end
'angle': int [optional] The angle with which to draw the end
Parameters
- $params
array $params Parameter array
Overrides
|
public
|
#
line( array $params )
Draw a line
Parameter array:
'x0': int X start point
'y0': int Y start point
'x1': int X end point
'y1': int Y end point
'color': mixed [optional] The line color
Parameters
- $params
array $params Parameter array
Overrides
|
public
|
#
polygon( array $params )
Parameter array:
'connect': bool [optional] Specifies whether the start point should be
connected to the endpoint (closed polygon) or not (connected line)
'fill': mixed [optional] The fill color
'line': mixed [optional] The line color
Parameters
- $params
array $params Parameter array
Overrides
|
public
|
#
rectangle( array $params )
Draw a rectangle
Parameter array:
'x0': int X start point
'y0': int Y start point
'x1': int X end point
'y1': int Y end point
'fill': mixed [optional] The fill color
'line': mixed [optional] The line color
Parameters
- $params
array $params Parameter array
Overrides
|
public
|
#
ellipse( array $params )
Draw an ellipse
Parameter array:
'x': int X center point
'y': int Y center point
'rx': int X radius
'ry': int Y radius
'fill': mixed [optional] The fill color
'line': mixed [optional] The line color
Parameters
- $params
array $params Parameter array
Overrides
|
public
|
#
pieslice( array $params )
Draw a pie slice
Parameter array:
'x': int X center point
'y': int Y center point
'rx': int X radius
'ry': int Y radius
'v1': int The starting angle (in degrees)
'v2': int The end angle (in degrees)
'srx': int [optional] Starting X-radius of the pie slice (i.e. for a
doughnut)
'sry': int [optional] Starting Y-radius of the pie slice (i.e. for a
doughnut)
'fill': mixed [optional] The fill color
'line': mixed [optional] The line color
Parameters
- $params
array $params Parameter array
Overrides
|
public
integer
|
#
textWidth( string $text )
Get the width of a text,
Parameters
- $text
string $text The text to get the width of
Returns
integer The width of the text
Overrides
|
public
integer
|
#
textHeight( string $text, boolean $force = false )
Get the height of a text.
Get the height of a text.
Note! This method can give some peculiar results, since ImageTTFBBox()
returns the total bounding box of a text, where ImageTTF() writes the text on
the baseline of the text, that is 'g', 'p', 'q' and other letters that dig under
the baseline will appear to have a larger height than they actually do. Have a
look at the tests/text.php test case - the first two columns, 'left and
'center', both look alright, whereas the last column, 'right', appear with a
larger space between the first text and the second. This is because the total
height is actually smaller by exactly the number of pixels that the 'g' digs
under the baseline. Remove the 'g' from the text and they appear correct.
Parameters
- $text
string $text The text to get the height of
- $force
boolean $force Force the method to calculate the size
Returns
integer The height of the text
Overrides
|
public
|
#
_getAbsolutePosition( integer $x, integer $y, string $text, array $align )
Calculated the absolute bottom-left position of the text, by simulating the
calculation of the baseline drop.
Calculated the absolute bottom-left position of the text, by simulating the
calculation of the baseline drop.
Parameters
- $x
integer $x The relative x position to write the text
- $y
integer $y The relative y position to write the text
- $text
string $text The text to write
- $align
array $align The alignment of the text relative to (x, y)
Returns
array An array containing the absolute x and y positions
|
public
|
#
addText( mixed $params )
Writes text
Parameter array:
'x': int X-point of text
'y': int Y-point of text
'text': string The text to add
'alignment': array [optional] Alignment
'color': mixed [optional] The color of the text
Overrides
|
public
|
#
image( mixed $params )
Overlay image
Parameter array:
'x': int X-point of overlayed image
'y': int Y-point of overlayed image
'filename': string The filename of the image to overlay
'width': int [optional] The width of the overlayed image (resizing if
possible)
'height': int [optional] The height of the overlayed image (resizing if
possible)
'alignment': array [optional] Alignment
Overrides
|
public
|
#
setClipping( mixed $params = false )
Set clipping to occur
Parameter array:
'x0': int X point of Upper-left corner 'y0': int X point of Upper-left corner
'x1': int X point of lower-right corner 'y1': int Y point of lower-right
corner
Overrides
|
public
|
#
toHtml( mixed $params )
Get a canvas specific HTML tag.
Get a canvas specific HTML tag.
This method implicitly saves the canvas to the filename in the filesystem
path specified and parses it as URL specified by URL path
Parameter array:
'filename' string
'filepath': string Path to the file on the file system. Remember the final
slash
'urlpath': string Path to the file available through an URL. Remember the
final slash
'alt': string [optional] Alternative text on image
'cssclass': string [optional] The CSS Stylesheet class
'border': int [optional] The border width on the image
Overrides
|
public
|
#
_reset( )
Resets the canvas.
Include fillstyle, linestyle, thickness and polygon
Overrides
|
public
integer
|
#
_version( )
Check which version of GD is installed
Check which version of GD is installed
Returns
integer 0 if GD isn't installed, 1 if GD 1.x is installed and 2 if GD 2.x is installed
|


Hi! I'm Laura Reeve, and I like building websites and web apps, and I'm currently studying for a Web Development Certificate from Seattle University. I really like using Vue.js as an app framework and Bootstrap as a CSS framework (although CSS grid is growing on me). I like to build clean and simple interfaces that focus on one or two features. Contact me for more details!
Take a look at some of my projects here:


| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 12:00 PM | Medicine 4 |
1 Liquid
|
11:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|
| Time | Medicine | Dose | Reminder | Schedule |
|---|---|---|---|---|
| 5:30 AM | Medicine 1 |
1 Pill
|
5:15 AM |
|
| 10:00 AM | Medicine 2 |
1 Injection
|
9:45 AM |
|
| 5:00 PM | Medicine 3 |
2 Pills
|
4:45 PM |
|
| 5:30 PM | Medicine 1 |
1 Pill
|
5:15 PM |
|


"AIR" is an app to reduce the waiting time wisely. Users have the possibilty to collect points placed all over the airport. They can exchange these points into benefits like:
"Let‘s talk" is an app to learn or improve a (new) language. The users have the chance to:
As a UX Designer one of my skill is to build User Personas, which are self explanatory and gives the observer a direct impression of the person.
With my graphic design background I was given the chance to create several Logos for different occasions.


I haven't really worked for pay or rather i haven't worked as an Proper employee yet, only little
hustles here and there.
All in all I've worked at Gertrude's Children's Hospital Muthaiga Link.
as a volunteer for about a whole month.
Besides that I've also worked at Tender Care Dental Clinic
kilimani
Link.


CodeMirror: Indent folding
Some text indented Not Indented Indented Once Indented Twice Back In And out again Another place xx sadfdsak


Pulp Fiction
Yeah, I like animals better than people sometimes... Especially dogs. Dogs are the best. Every time you come home, they act like they haven't seen you in a year.
Big Kahuna
Hi
Hey
Hey
Hi
Hey
Movie Name
Actor Name
TV shows
Get Results
Browse The Upcoming Movie List


Represents one turn of a rubik's cube. More...
Public Member Functions | |
| string | ToStringRepresentation () |
| String representation of a move (as regulated by WCA). ex. R2 - right face by 180 degrees, U' - Upper anticlockwise by 90 degrees More... | |
| Move (MoveType moveType, uint rowsAtOnce, bool isDouble, bool isAnticlockwise) | |
| Constructor with all parameters. More... | |
Static Public Member Functions | |
| static Move | GetRandomMove (uint rowsAtOnce) |
| Generates a randomMove with random parameters. More... | |
Properties | |
| MoveType | TypeOfMove [get] |
| Represent which side you have to turn. More... | |
| uint | RowsAtOnce [get] |
| How many rows at once do you have to turn. More... | |
| bool | IsDouble [get] |
| True if move is double (with suffix -2), meaning by 180 degrees. More... | |
| bool | IsAnticlockwise [get] |
| True if move is in anticlockwise direction. More... | |
Represents one turn of a rubik's cube.
| TimerLibrary.Move.Move | ( | MoveType | moveType, |
| uint | rowsAtOnce, | ||
| bool | isDouble, | ||
| bool | isAnticlockwise | ||
| ) |
Constructor with all parameters.
| moveType | Enum type (F|R|L|U|D) |
| rowsAtOnce | How many rows at once can you turn (1 for 3x3, 2 for 4x4) |
| isDouble | The rotation is by 180 degrees |
| isAnticlockwise | The rotation is anticlockwise (prim ') |
|
static |
Generates a randomMove with random parameters.
| rowsAtOnce | How many rows at once can you turn in a given cube. |
| string TimerLibrary.Move.ToStringRepresentation | ( | ) |
String representation of a move (as regulated by WCA). ex. R2 - right face by 180 degrees, U' - Upper anticlockwise by 90 degrees
|
get |
True if move is in anticlockwise direction.
|
get |
True if move is double (with suffix -2), meaning by 180 degrees.
|
get |
How many rows at once do you have to turn.
for 2x2 and 3x3 - max is 1, but for 4x4 you can turn two rows at once
|
get |
Represent which side you have to turn.
F - front side turn, U - upper


Human figure drawings easy to follow and learn fast.
Tonni Art and Craft
Learn to make creative things just out of small origami paper.
Drawing tutorials and Challenges for kids.
Art and Learn
Sketching waterfalls with pencil from scratch.
KJS ARTS Subbiah
Learn drawing for free, very easy to understand and online.
Watch a daily painting made in front of your eyes so as to learn the whole process of painting.
Wow Art


Steven Marc Rittvo
Democrat
Management Consultant, semi retired. Employer is Innovation Project Development, president, I am also Non Executive Chairman of Innovation Capital, a registered Finra broker/ dealer and former founder and CEO of The Innovation Group, a financial analysis and market research firm serving the leisure industry
B.S in Systems Engineering, M. S. In Transportation planning, course work completed for a PH D in Urban Policy
81621
20 years ago I was active in political campaigns in La. I have been active in coordinating referendums votes in numerous jurisdictions over the last 25 years relating to casinos and on line gaming. I have made contributions to the democratic candidates in my home district, to the Hickenlooper campaign, to DSEC, and a few local candidates that were friends
Member of the Basalt Education Foundation Board, board member of the Basalt Library, member of the board of my HO A
Have advocated for education referendum as part of the Basalt Education Foundation and Library board.Helped organize citizen involvement relating to social issues
I believe I appreciate the significance of redistricting in reflecting fairly the local populations. I believe my professional history with demographic analysis and geo-coding would be an asset to the commission. I have led or participated in a vast number of public presentation relating to referendum and large scale public projects and and comfortable in making presentations. I am good at explaining complex issues to local citizens and the media. I strongly believe it is my obligation to participate in meaningful civic duties
In my professional life, I would say one of my major responsibilities was to build consensus across a wide range of projects. This is achieved through honest communication that is clear and concise, having the ability to listen and hear all sides of an issue and consider viable options that can be accepted by a wide group of people, without distorting the process. I write and speak well, a necessary set of skills to convey information to develop consensus and I have think skin, something a moderator often needs. I believe I have demonstrated a sense of fairness during my full professional career and have been involved in commercial arbitration’s as an arbitrator and been accepted as an expert witness at all levels of courts and by the World Court 3 times in international arbitrations. I have no idea how to prove my fairness or lack of bias except to say, I believe I am an honest person with integrity.
I am strongly analytic and have used geo centric demographics for years. I have had to analyze market data on a census block group or zip code level to determine opportunities or problem areas. I understand mapping and population forecasting and trends. At this point in my life I am brought on as a strategic advisor for very large corporations to assist the in obtain approval, getting community acceptance or developing large scale or controversial projects.
Male


The UK government sets up an international “Olympics of e-sports” this summer! Okay if you are a hardcore gamer , then you may have bounced atleast once after hearing this fantastic news! But if you are someone who dose'nt care about which new game is going to release or what did Cratos do in God of war. You may pick your side but the gaming era is changing and this event which is to begin this summer shall change the face of gaming industry!
The gaming Olympics aka e-Olympics!
"eSports Now Recognized as 2nd-Level Olympic Sport"
On January 27 , the Korean eSport Association (KeSPA) was able to push for the accreditation of eSports as a 2nd-level Olympic sport by the Korean Olympic Committee (KOC).The decision was made by the Korea Sports Council’s board of directors during a conference at the Seoul Olympic Parktel yesterday, Jan. 27, 2015.
The most awaited event which includes the selected few from each country who bash their controllers in order to win it all , is going to happen simultaneously with the the RIO Olympics at Brazil which is dated from 5th August to 21st August.
The Let down
On social media, gamers pushed back on the possibility of seeing video games in the Olympics, stating that e-games shall not be directly compared with physical games. Also only 4 countries namely Britain , Canada , Brazil and the U.S On popular social media sharing site Reddit, League of Legends fans and players of FIFA (16 notably :P) lamented the move by KeSPA(Korean eSport Association), stating that the inclusion of eSports into the Olympics is problematic, owing to the multitude of eSports titles currently in the market.
The games you will get to watch !
The strategy games as well as simulation games , the well know games world wide like-> FIFA 16
-> Dota 2
-> Need for speed
-> Counter strike
The conclusion
The new eGames will be looking to grab in some reflected glory from the upcoming Rio Olympic Games, hosting its first competition as a two-day exclaimed event in Rio during the Summer Olympics in August. Any nation will be welcome to field an "eTeam" (their term, not ours) in the eGames, but so far only four countries are confirmed as participants: Britain, Canada, Brazil, and the US.Information Brought to you by Inaayat Inc. .
Content by Uday . Photographs from google , copyright-free.
Quotes by Uday .
Editors Uday | Parthiban .
Page designed by Uday | Parthiban .


One of the earliest attempts was advertised in 1728 in the Boston Gazette for "Caleb Philipps, Teacher of the new method of Short Hand," who sought students who wanted to learn through weekly mailed lessons.
The first distance education course in the modern sense was provided by Sir Isaac Pitman in the 1840s, who taught a system of shorthand by mailing texts transcribed into shorthand on postcards and receiving transcriptions from his students in return for correction. The element of student feedback was a crucial innovation of Pitman's system. This scheme was made possible by the introduction of uniform postage rates across England in 1840.
This early beginning proved extremely successful, and the Phonographic Correspondence Society was founded three years later to establish these courses on a more formal basis. The Society paved the way for the later formation of Sir Isaac Pitman Colleges across the country.
Blended learning is a formal education program in which a student learns at least in part through delivery of content and instruction via digital and online media with some element of student control over time, place, path, or pace. While students still attend "brick-and-mortar" schools, face-to-face classroom methods are combined with computer-mediated activities.
E-learning is a learning system which uses information and communication technologies (ICT's) as a platform for teaching and learning activities. It has been defined as "pedagogy empowered by technology", though 'digital technology' is more accurate. Note that, due to the difference in terms of institutional goals, higher education and the industry have very different ideas.
A virtual learning environment (VLE) is a Web-based platform for the digital aspects of courses of study, usually within educational institutions. VLEs typically: allow participants to be organized into cohorts, groups and roles; and have some level of integration with other institutional systems. For those who edit VLEs may have a de facto role as authoring and design.


We are verifying this link...
Expired Link
Unable to change your password. This can be because the link you tried to use has expired.
Almost done! Choose a new password to use from now on.
Your password has been changed.
All set! You can now log in to your account.


--- author: Shazron categories: app date: '2009-06-02 12:22:08' link: http://blogs.nitobi.com/shazron/2009/06/02/the-state-of-phonegap-with-windows-mobile/ permalink: /2009/06/02/the-state-of-phonegap-with-windows-mobile/ slug: the-state-of-phonegap-with-windows-mobile status: publish title: The State of PhoneGap with Windows Mobile type: post format: html ---
Well there is no state really, except for the proof of concept currently (by PhoneGap contributor Jose Noheda). I was re-factoring the PoC code, and getting everything working with the PhoneGap Javascript common code. In a nutshell, PhoneGap WinMo cannot use the existing PhoneGap js [1], as js support in the IE control in WinMo is too primitive. The current IE in WinMo is based on desktop IE 4 (released in 1997) and only supports JScript 3/Javascript 1.3.
So where does this leave PhoneGap WinMo? These are the ways we can proceed:
Have a totally separate Js codebase, based on JScript 3, for WinMo. Con: Maintenance nightmare?
Upgrade to IE Mobile 6. This discussion has its own section, below.
Use WebKit with Qt [5]. Pro: We can probably use Qt Webkit in Nokia phones (soon, not supported yet), because well, Nokia owns Qt. Con: Using Qt adds a 10MB overhead, minimum.
Use our own WebKit control. Con: I don't know how long this effort will take, and it is the riskiest.
Internet Explorer Mobile 6
IE Mobile 6 is based on desktop IE 6 (which was released in 2001) but with the IE 8 Javascript engine [2]. However, only newer (unreleased as of yet) phones will get this version, according to Microsoft [3]. Although there are development emulator images available, they are no substitute for testing on a device.
Even if we somehow get IE Mobile 6 on existing phones (with unofficial ROMs, eg through xda forums[6]), .NET code cannot take advantage of this, because Microsoft does not want to break existing compatibility with existing code that uses hosted controls [4].
Footnotes:
[1] Sample PhoneGap Javascript code that fails under IE Mobile 4 JScript
[2] IE Mobile 6 release blog post
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx
[3] IE Mobile 6 will not be available for current phones
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx#9063740 [All comments were deleted after the fact by MS]
[4] IE Mobile 6 will not be available in hosted controls (ie .NET WebBrowser component)
http://blogs.msdn.com/windowsmobile/archive/2008/11/11/internet-explorer-mobile-6.aspx#9064039[All comments were deleted after the fact by MS]
[5] Qt toolkit
[6] XDA Developers forum


tl;dr: github.com/aschmelyun/cleaver for more info
I know what you’re probably thinking, “Oh boy, another static site generator”. And you’d be right, but I’m hoping that the one I’ve created is a little different than ones you’ve been exposed to.
Instead of trying to be multiple things for multiple people, or instead of trying to be as friendly as possible to everybody, I've designed Cleaver to be as open to developers as possible.
Under the hood it's a pretty simple application, the core of which is just over 700 lines of code.
Where did it come from?
Born out of scratching my own itch, Cleaver was designed to help me rapidly build data-driven landing pages. The problem that I had with other SSGs on the market is that you're usually stuck between Markdown, or the language that the generator is written in. This wouldn't be a problem for something like a blog, or any content-heavy websites, but I ran into an issue trying to build documentation sites and online spec sheets.
I really wanted to be able to build a site from JSON, just like I would be if I was getting data returned to me from an API. So, I created just that!
Cleaver takes JSON files saved locally, and parses the data in them directly to PHP variables using the keys you've provided. This is passed through to Laravel's Blade templating engine, where everything is then compiled to static HTML files and saved in a directory tree that you set.
So, for example, your JSON that looks like this:
{
"view": "layouts.default",
"path": "/posts/a-whole-new-world",
"title": "A Whole New World",
"description": "Shining, shimmering, splendid.",
"items": [
"Three Forks",
"Seven Spoons",
"One Butter Knife"
]
}
Gets converted into the following PHP variables:
$view
"layouts.default"
$path
"/posts/a-whole-new-world"
$title
"A Whole New World"
$description
"Shining, shimmering, splendid."
$items
array("Three Forks", "Seven Spoons", "One Butter Knife")
These are passed through to your Blade template of choice (in this case, located at views/layouts/default.blade.php) in the resources directory. Then you can use them just like you would in your Laravel application:

{{ $title }}

{{ $description }}

@foreach($items as $item)

{{ $item }}

@endforeach

After compiling the site through the simple npm run dev
script, it'll output the rendered static HTML file at posts/a-whole-new-world/index.html under the /dist
directory.
You can see a better example of this on the repository containing the usecleaver.com landing page here.
Getting started
You'll want to make sure that you have the following installed on your machine:
- PHP
- Composer
- Node
- NPM
The easiest way to get started creating a Cleaver site, is to run the following command:
composer create-project aschmelyun/cleaver your-site-name
This will download the latest version of Cleaver from the repo, install the required packages, and dump everything in a folder called your-site-name
. Of course, please change that to reflect what you actually want your site directory to be.
Navigate in your terminal to the newly-created folder, and run the following command to install the required node packages and compile your site for the first time:
npm install && npm run dev
After a few minutes or so, your site should have been successfully built with the demo content included (a lite version of the usecleaver.com/docs page) and added into a /dist
folder in the project root directory.
Let's move on to making a new page.
Creating and structuring a page
All of the content used to build your site is located in the resources/content
directory. In here you can add JSON and Markdown files, organized and named in any particular way you see fit. Unlike a lot of other static site generators, the structure of your content directory does not affect the structure of the built site.
Inside each content file, there are two keys which have to be set in order for the page to be compiled successfully. Those are view and path. Let's see what each one of those does, and why they're important:
- view is the Blade template that the page will be compiled against. You can use and include other Blade templates in the specified file, but that is the one it will be built with.
- path is where this page will end up in your
dist
directory after Cleaver runs. For instance, if you have a site called myblog.com and want this page to exist at myblog.com/posts/a-cool-post, your path value would be/posts/a-cool-post
.
As stated before, Cleaver accepts both JSON files as well as Markdown. Here's an example of each being used for similar pages:
The biggest difference between the two is how the data is accessed in your Blade templates.
For JSON content files, each key is used as an individual variable. So in the above examples, you'd reference a single $title
string and a $paragraphs
array of strings.
When using Markdown however, everything below the last three dashes is injected as a single $content
variable. If using this, Blade's unescaped echo shortcut {!! $content !!} will render out the proper HTML tags that get compiled from the Markdown file.
Modifying assets
Cleaver uses Sass files for styling, and auto-loads in the Tailwind CSS utility library. You can add your own styles, or override what's currently configured, under the resources/assets/sass
directory. By default, there's a single file in there called app.scss
that solely imports the Tailwind library, but feel free to import your own Sass files or add in and remove custom classes as you see fit.
Navigating to the resources/assets/js
directory, you'll see a single JavaScript file called app.js
. Just like with the styles, Cleaver has a very bare-bones approach here. All this file does is import lodash, jQuery, and Vue, giving your site a modern and extensible starting point for front-end functionality. Since we're pulling everything in through Laravel's webpack wrapper Mix, you can use ES6 syntax and import/require statements throughout your JavaScript.
Building and deployment
To compile your assets and build the static site using your content files, all you have to do is run one of the following commands from your project's root:
npm run dev
or npm run production
Both will compile all of your CSS/JS and build your site, but running production will take minify and version your asset files. The latter does take a little bit longer, but is recommended if you're going to be deploying your site to a production environment.
Additionally, you can use npm run watch
which will start up a local webserver and watch all changes to your assets and content files, re-compiling the entire site every time you save a change.
Once you've built your site, the entire markup tree and assets will be available in a dist
directory at the root of your project. You can either upload this file directly to the public root of your webserver and serve it that way, or commit the entire project and adjust your webserver's public folder to point to the dist
directory.
Note: If you want to compile your site, but not your assets, you can directly run the php cleaver
command from your project root.
That's it!
I hope you enjoyed this (quick?) rundown of Cleaver, the static site generator I ended up building to scratch my own itch. If you end up giving it a try and have any questions, concerns, or feature requests, I would love to hear about them! Feel free to open an issue in GitHub, or reach out directly to me on Twitter.


The grid based design is a layout designed to take full advantage of our natural way of reading websites. Our eyes naturally begin at the top left and work their way across the website title, and then down to a photo next to a paragraph title, followed by the paragraph itself.
Using responsive webpages is great beacause it ensures that no matter the device or screen size you use to access the website, it will resize automatically and make your webpage look great to the reader.
Semantic structure is the HTML code we write that can be understood by both the browser and the people reading it. Examples of this include using "h1" to define you webpage's header or title.
The use of negative space really appealed to me. This is because it not only makes written content on the webpage easier to read, it also gives the website a simplistic and spacious look which I really like.


Ellipsis Athletics 1024x768
Grey Halftone 1024x768
web | multi-media | print | about | contact | mission | gallery | message board


Bulk Purchase
Konga Store Locator
07007000000
Contact us
FAQ
Return Policy
Sell on Konga
Sign Up
Log in
Search
Liked Items
Cart
Phones & Tablets
Computer Accessories
Electronics
Fashion
Home & Kitchen
Baby, Kids & Toys
Wine & Other Categories
Home
Arts, Crafts & Sewing
Housekeeping & Pet Supplies
Home Furnishings
Kitchen & Dining
Home & Kitchen Bundles
Large Appliances
Small Appliances
Furniture
View all


{{ "" | safeHTML }} The first and largest Go conference in Southeast Asia! 25th May 2017, Amara Singapore Hotel 26th May 2017, Google Asia Pacific HQ, Singapore {{ if and .Site.Params.hero.slogan .Site.Params.hero.subtitle }} {{ end }} Thank you! Tickets are SOLD OUT! 👏


|
Bullet Collision Detection & Physics Library
|
#include "gim_basic_geometry_operations.h"
#include "gim_clip_polygon.h"
#include "gim_box_collision.h"
#include "gim_tri_collision.h"
Go to the source code of this file.
Definition in file gim_geometry.h.


User pixels extractor. More...
#include <TopsensUserExtractor.hpp>
Public Member Functions | |
| UserExtractor () | |
| Default constructor. More... | |
| ~UserExtractor () | |
| Destructor. More... | |
| Error | Initialize (Resolution resolution) |
| Initializes user pixels extractor instance. More... | |
| Error | Extract (const ColorFrame &cframe, const UsersFrame &uframe, std::vector< uint32_t > &extracted) |
| Extracts user pixels. More... | |
User pixels extractor.
Definition at line 12 of file TopsensUserExtractor.hpp.
|
inline |
Default constructor.
Definition at line 16 of file TopsensUserExtractor.hpp.
|
inline |
Destructor.
Definition at line 22 of file TopsensUserExtractor.hpp.
|
inline |
Extracts user pixels.
| cframe | Color image frame. |
| uframe | Users frame. |
| extracted | The collection of extracted user pixels. |
Definition at line 44 of file TopsensUserExtractor.hpp.
|
inline |
Initializes user pixels extractor instance.
| resolution | The resolution of depth image corresponding to the input users frame. |
Definition at line 32 of file TopsensUserExtractor.hpp.


--- layout: article title: "Driver Compatibility" last_updated: ---
This list was compiled on 2015-07-14 and currently only contains AMD driver compatibility. The list will be amended to contain data from other manufacturers.
An asterisk represents support for Windows 10 with Windows 8.1 drivers. "64-bit" or "32-bit" items represent that drivers are available for the OS, although only for a specific archetecture.
| Product name | Product model | Product manufacturer | Windows 7 Compatible | Windows 8 Compatible | Windows 8.1 Compatible | Windows 10 Compatible |
|---|---|---|---|---|---|---|
| C-Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes* |
| A4-6210 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A8-6310 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E1-7010 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A-Micro Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A6-7310 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E2-7110 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A8-7410 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A-Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes |
| A8-6410 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A8-7100 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E1 Micro-6200T APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A8-7200P APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A6-7000 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| PRO A-Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E-Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes* |
| E2-6110 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A4-7210 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A6-8500P APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A10-8700P APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E2-6010 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| FX-Series APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A10-7400P APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A10-7300 APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A8-8600P APU | APU (Accelerated Processors)/Mobile APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A8-7600 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-8850B | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A-6 7400K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A-Series APU | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes |
| AMD A10-7850K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A8-7690K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| Athlon Series APU | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A4-8350B | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-7800 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A6-8550 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| E-Series APU | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes |
| AMD A6-7470K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| Sempron Series APU | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A8-7670K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| A-4 7300 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-7870K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A6-8550B | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-8750 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-7890K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-7770K | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A8-8650 | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A8-8650B | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| AMD A10-8750B | APU (Accelerated Processors)/Desktop APU (Accelerated Processors) | AMD | Yes | No | 64-bit | Yes |
| FirePro A320 APU | APU (Accelerated Processors)/Workstation APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes* |
| FirePro A300 APU | APU (Accelerated Processors)/Workstation APU (Accelerated Processors) | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8570w (FirePro M4000 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8460w (FirePro M3900 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8470w (FirePro M2000 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6800 (FirePro M6100 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4800 (FirePro M5100 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6700 (FirePro M6000 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4600 (FirePro M5950 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6400 (FirePro M7740 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | No | No | No |
| Dell Precision M6500 (FirePro M7820 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6600 (FirePro M8900 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP ZBook 14 (FirePro M4100 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6600 (FirePro M6100 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M2800 (FirePro W4170M Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4700 (FirePro M4000 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8740w (FirePro M7820 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | No | No |
| HP EliteBook 8770w (FirePro M4000 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8560w/8760w (FirePro M5950 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8540w (FirePro M5800 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | No | No |
| Dell Precision M6500 (FirePro M7740 Mobility) | Notebook Graphics/Mobility FirePro Series | AMD | Yes | No | No | No |
| All Other Mobility FirePro/FireGL Products | Notebook Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Radeon R7 M2XX Series | Notebook Graphics/Radeon R7 Series | AMD | Yes | No | Yes | Yes |
| Radeon R5 M2XX Series | Notebook Graphics/Radeon R5 Series | AMD | Yes | No | Yes | Yes |
| All Mobility FireGL Products | Notebook Graphics/Mobility FireGL Series | AMD | Yes | No | No | No |
| Mobility Radeon 4100 Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Mobility Radeon 3100 Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 8xxxM Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Mobility Radeon HD 5xxx Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Mobility Radeon HD 4xxx Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 6xxxM Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Radeon HD 7xxxM Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| All Other Mobility Radeon Products | Notebook Graphics/Radeon HD Series | AMD | Yes | No | No | No |
| Mobility Radeon HD 3xxx Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Mobility Radeon HD 2xxx Series | Notebook Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon R9 M2XX Series | Notebook Graphics/Radeon R9 Series | AMD | Yes | No | Yes | Yes |
| Radeon 9200 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9800 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9600 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9700 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9000 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9550 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9500 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 9250 Series | Desktop Graphics/Radeon 9xxx Series | AMD | No | No | No | No |
| Radeon 7500 Series | Desktop Graphics/ATI Radeon 7xxx (Legacy) | AMD | No | No | No | No |
| Radeon 7000 Series | Desktop Graphics/ATI Radeon 7xxx (Legacy) | AMD | No | No | No | No |
| Radeon 7200 Series | Desktop Graphics/ATI Radeon 7xxx (Legacy) | AMD | No | No | No | No |
| Radeon X7xx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon X3xx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon X6xx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon X1xxx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon X8xx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon X5xx Series | Desktop Graphics/Radeon X Series | AMD | No | No | No | No |
| Radeon R7 3xx Series | Desktop Graphics/Radeon R7 Series | AMD | 64-bit | No | 64-bit | 64-bit |
| Radeon R7 2xx Series | Desktop Graphics/Radeon R7 Series | AMD | Yes | Yes | Yes | Yes |
| Radeon VE | Desktop Graphics/Radeon VE \ 32 | AMD | No | No | No | No |
| Radeon 32 | Desktop Graphics/Radeon VE \ 32 | AMD | No | No | No | No |
| Radeon R5 2XX Series | Desktop Graphics/Radeon R5 Series | AMD | Yes | Yes | Yes | Yes |
| Radeon HD 6xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Radeon HD 4xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| All Radeon HD Series AGP | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 7xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Radeon HD 3xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 8xxx Series PCIe (OEM) | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Radeon HD 2xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 5xxx Series PCIe | Desktop Graphics/Radeon HD Series | AMD | Yes | Yes | Yes | Yes |
| Radeon 8500 Series | Desktop Graphics/Radeon 8xxx Series | AMD | No | No | No | No |
| Rage 128 PRO | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage XL | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| All-in-Wonder Pro | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage Fury Maxx | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage Fury | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage XC | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage Fury Pro | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Xpert 2000 Pro | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage Magnum | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Xpert 2000 | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage 128 | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage IIC | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| All-in-Wonder 128 | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage LT PRO | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| All-in-Wonder 128 Pro | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage II/II+ | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Xpert 128 | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Rage PRO | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Xpert 99 | Desktop Graphics/Rage Series | AMD | No | No | No | No |
| Radeon R9 3xx Series | Desktop Graphics/Radeon R9 Series | AMD | 64-bit | No | 64-bit | 64-bit |
| Radeon R9 Fury Series | Desktop Graphics/Radeon R9 Series | AMD | 64-bit | No | 64-bit | 64-bit |
| Radeon R9 2XX Series | Desktop Graphics/Radeon R9 Series | AMD | Yes | Yes | Yes | Yes |
| Radeon X1200 | Integrated Motherboard Graphics/Radeon X12xx Series | AMD | No | No | No | No |
| Radeon X1250 | Integrated Motherboard Graphics/Radeon X12xx Series | AMD | No | No | No | No |
| Radeon 9000 IGP | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon 9100 IGP | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon IGP 340 | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon 9100 IGP PRO | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon IGP 330 | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon IGP 320 | Integrated Motherboard Graphics/Radeon IGP Series | AMD | No | No | No | No |
| Radeon 2100 | Integrated Motherboard Graphics/Radeon 2xxx Series | AMD | Yes | Yes | No | No |
| Radeon 3100 Series | Integrated Motherboard Graphics/Radeon 3xxx Series | AMD | Yes | Yes | No | No |
| Radeon 3200 Series | Integrated Motherboard Graphics/Radeon 3xxx Series | AMD | Yes | No | No | No |
| Radeon 3000 Series | Integrated Motherboard Graphics/Radeon 3xxx Series | AMD | Yes | Yes | No | No |
| Radeon Xpress 200M | Integrated Motherboard Graphics/Radeon Xpress Series | AMD | No | No | No | No |
| Radeon Xpress 200 | Integrated Motherboard Graphics/Radeon Xpress Series | AMD | No | No | No | No |
| Radeon Xpress 1100 | Integrated Motherboard Graphics/Radeon Xpress Series | AMD | No | No | No | No |
| Radeon Xpress 1150 | Integrated Motherboard Graphics/Radeon Xpress Series | AMD | No | No | No | No |
| Radeon Xpress | Integrated Motherboard Graphics/Radeon Xpress Series | AMD | No | No | No | No |
| CrossFire Express 1600 | Integrated Motherboard Graphics/CrossFire Express Series | AMD | No | No | No | No |
| CrossFire Express 3200 | Integrated Motherboard Graphics/CrossFire Express Series | AMD | No | No | No | No |
| Radeon HD 4200 Series | Integrated Motherboard Graphics/Radeon Integrated HD Series | AMD | Yes | Yes | No | No |
| Radeon HD 3300 Series | Integrated Motherboard Graphics/Radeon Integrated HD Series | AMD | Yes | Yes | No | No |
| FireGL V5600 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL X3-256 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V7350 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3350 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3100 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL 8x00 | Workstation Graphics/FireGL Series | AMD | No | No | No | No |
| FireGL V8650 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V7700 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V5200 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL X2 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL X1 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V7600 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V5100 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V5000 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3300 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL 4/3/2/1 | Workstation Graphics/FireGL Series | AMD | No | No | No | No |
| FireGL V7100 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3200 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL T2-128 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V7300 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V7200 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3400 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL Z1 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V8600 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FireGL V3600 | Workstation Graphics/FireGL Series | AMD | Yes | No | No | No |
| FirePro A320 APU | Workstation Graphics/FirePro APU Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro A300 APU | Workstation Graphics/FirePro APU Series | AMD | Yes | Yes | Yes | Yes* |
| No Selection Required | Workstation Graphics/FirePro ISV certified drivers | AMD | No | No | No | No |
| Radeon SKY 900 | Workstation Graphics/Radeon SKY Series | AMD | Yes | Yes | Yes | Yes* |
| Radeon SKY 500 | Workstation Graphics/Radeon SKY Series | AMD | Yes | Yes | Yes | Yes* |
| Radeon SKY 700 | Workstation Graphics/Radeon SKY Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8570w (FirePro M4000 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro S7000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro A300 APU | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro R5000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro A320 APU | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Radeon SKY S500 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W9000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V8800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V5800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W9100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FireStream 9370 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Radeon SKY S700 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8470w (FirePro M2000 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro W5000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9050 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W5100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6500 (FirePro M7820 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro V7800P | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro 2270 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W600 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W7000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6600 (FirePro M8900 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro W4100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro 2460 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | No | Yes | Yes* |
| FirePro S9150 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W2100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8460w (FirePro M3900 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro V3800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W7100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4600 (FirePro M5950 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro V7900 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V5900 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro S400 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4700 (FirePro M4000 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FireStream 9350 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V3900 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro s10000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Radeon SKY S900 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V4800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6700 (FirePro M6000 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro W8100 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V4900 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V9800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro W8000 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| FirePro V7800 | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8770w (FirePro M4000 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FirePro V9800P | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8560w/8760w (FirePro M5950 Mobility) | Workstation Graphics/FirePro BETA Driver | AMD | Yes | Yes | No | No |
| FireMV 2200 PCI | Workstation Graphics/FireMV Series | AMD | No | No | No | No |
| FireMV 2400 PCI | Workstation Graphics/FireMV Series | AMD | No | No | No | No |
| FireMV 2400 PCIE | Workstation Graphics/FireMV Series | AMD | Yes | No | No | No |
| FireMV 2200 PCIE | Workstation Graphics/FireMV Series | AMD | Yes | No | No | No |
| FireMV 2250 PCIE | Workstation Graphics/FireMV Series | AMD | Yes | No | No | No |
| FirePro S7000 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro R5000 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W7000 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9050 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S4000X | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro RG220A | Workstation Graphics/FirePro Server Series | AMD | Yes | No | No | No |
| FirePro S9150 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9000 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro RG220 | Workstation Graphics/FirePro Server Series | AMD | Yes | No | No | No |
| FirePro V7800P | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S9100 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V9800P | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S10000 | Workstation Graphics/FirePro Server Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro 2260 PCI | Workstation Graphics/FirePro MultiView Series | AMD | Yes | No | No | No |
| FirePro 2260 | Workstation Graphics/FirePro MultiView Series | AMD | Yes | No | No | No |
| FirePro 2270 | Workstation Graphics/FirePro MultiView Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro 2450 | Workstation Graphics/FirePro MultiView Series | AMD | Yes | No | No | No |
| FirePro 2460 | Workstation Graphics/FirePro MultiView Series | AMD | Yes | Yes | Yes | Yes* |
| FireStream 9170 | Workstation Graphics/FireStream Series | AMD | Yes | No | No | No |
| FireStream 9250 | Workstation Graphics/FireStream Series | AMD | Yes | No | No | No |
| FireStream 9350 | Workstation Graphics/FireStream Series | AMD | Yes | Yes | Yes | Yes* |
| FireStream 9270 | Workstation Graphics/FireStream Series | AMD | Yes | No | No | No |
| FireStream 9270f | Workstation Graphics/FireStream Series | AMD | Yes | No | No | No |
| FireStream 9370 | Workstation Graphics/FireStream Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V8700 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro R5000 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W9000 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V7750 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro V8800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V5800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W9100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FireStream 9370 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W5000 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W8000 (Dell) | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W5100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V3750 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro W600 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W7000 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W4100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W2100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V3800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W7100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V8750 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro V5900 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro S400 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V7900 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FireStream 9350 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V3900 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V5700 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro V4800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W8100 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V4900 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V9800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro W8000 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| FirePro V3700 | Workstation Graphics/FirePro 3D Series | AMD | Yes | No | No | No |
| FirePro V7800 | Workstation Graphics/FirePro 3D Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8570w (FirePro M4000 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8460w (FirePro M3900 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8470w (FirePro M2000 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6800 (FirePro M6100 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4800 (FirePro M5100 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6700 (FirePro M6000 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4600 (FirePro M5950 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6400 (FirePro M7740 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | No | No | No |
| Dell Precision M6500 (FirePro M7820 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6600 (FirePro M8900 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP ZBook 14 (FirePro M4100 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M6600 (FirePro M6100 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M2800 (FirePro W4170M Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| Dell Precision M4700 (FirePro M4000 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8740w (FirePro M7820 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | No | No |
| HP EliteBook 8770w (FirePro M4000 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8560w/8760w (FirePro M5950 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | Yes | Yes* |
| HP EliteBook 8540w (FirePro M5800 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | Yes | No | No |
| Dell Precision M6500 (FirePro M7740 Mobility) | Workstation Graphics/Mobility FirePro Series | AMD | Yes | No | No | No |
| All Other Mobility FirePro/FireGL Products | Workstation Graphics/Mobility FirePro Series | AMD | Yes | No | No | No |
| All 8-Series Chipsets | Chipsets/AMD 8-Series Chipsets | AMD | Yes | Yes | Yes | Yes |
| All 9-Series Chipsets | Chipsets/AMD 9-Series Chipsets | AMD | Yes | Yes | Yes | Yes |
| All 6-Series Chipsets | Chipsets/AMD 6-Series Chipsets | AMD | Yes | Yes | Yes | Yes |
| All 7-Series Chipsets | Chipsets/AMD 7-Series Chipsets | AMD | Yes | Yes | Yes | Yes |


This probably one of Marvel's best movies. it's action-packed and you should definitely check out Learn more
This will definitely get those who have missed the voice of Optimus Prime. It's not the best transformers movie, but its not terrible either. Learn more


My name is Samantha de Waal Malefyt. I live in Chicago, Illinois and I am originally from New Jersey. I work as a special project manager. I love pop culture and my dog.


Arrays are a crucial component of any programming language,
particularly for a data-oriented language like Julia. Arrays store
values according to their location: in Julia, given a two-dimensional
array A
, the expression A[1,3]
returns the value stored at a
location known as (1,3)
. If, for example, A
stores Float64
numbers, the value returned by this expression will be a single
Float64
number.
Julia’s arrays conventionally start numbering their axes with 1,
meaning that the first element of a one-dimensional array a
is
a[1]
. The choice of 1 vs. 0 seems to generate a certain amount of
discussion. A fairly recent addition to the Julia landscape is the
ability to define arrays that start with an arbitrary index. The
purpose of this blog post is to describe why this might be
interesting. This is really a “user-oriented” blog post, hinting at
some of the ways this new feature can make your life simpler. For
developers who want to write code that supports arrays with arbitrary
indices, see
this documentation page.
Sometimes arrays are used as simple lists, in which case the indices may not matter to you. But in other cases, arrays are used as a discrete representation of a continuous quantity (e.g., values defined over space or time), and in such cases the array indices correspond to “location” in a way that may be meaningful.
As a simple example, consider the process of rotating an image:
| img | img_rotated |
|---|---|
Many languages provide functions for rotating an image; in Julia, you
can do this with the warp
function defined in
ImageTransformations.
Things get a little more “interesting” when you want to compare pixels
in the rotated image to those of the original image. How, exactly, do
these pixels match up? In other words, for a location img[i,j]
, what
is the corresponding i′,j′
location in img_rotated
? In many languages,
figuring out these types of geometric alignments may not be a simple
task; it’s no exaggeration to say that in complex situations (e.g., a
three-dimensional image with a complex spatial deformation) that one
can spend a day or more figuring out exactly how pixels/voxels in two
images are supposed to be compared.
Why is this such a hard problem? The core problem is that, in most cases, the language is essentially “lying” to you about the location of pixels: if arrays always start indexing at 1 along any given axis, the array indices don’t really correspond to an absolute spatial location. An index of 1 means “first index” rather than “spatial location 1.”
So to fix this in Julia, starting with version 0.5 we support arrays with indices that don’t start with 1. Let’s illustrate this by specifying that we want the above rotation to be around a point in the head of the cameraman. Let’s load the image:
```julia julia> using Images, TestImages
julia> img = testimage(“cameraman”);
julia> summary(img) “512×512 Array{Gray{N0f8},2}” ```
summary
shows that img
is a grayscale image indexed over the
ranges 1:512×1:512
. Using any of several approaches (e.g.,
ImageView and paying
attention to the status bar to get the mouse pointer location), we can
learn that the point (y=126, x=251)
is in the head of the
cameraman. Consequently, let’s define a rotation around this point:
```julia julia> using Rotations, CoordinateTransformations
julia> tfm = Translation(125,250) ∘ LinearMap(RotMatrix(pi/6)) ∘ Translation(-125,-250) AffineMap([0.866025 -0.5; 0.5 0.866025], [141.747, -29.0064]) ```
This defines tfm
as the composition of a translation (shifting the
head to the origin) followed by a rotation, and then translating back.
(You can get the
composition operator by typing \circ
and then hitting TAB.) If we
apply this transformation to the image, we get an interesting result:
```julia julia> img_rotated = warp(img, tfm);
julia> summary(img_rotated) “-107:592×-160:539 OffsetArray{Gray{N0f8},2}” ```
Perhaps surprisingly, img_rotated
is indexed over the range
-107:592×-160:539
, meaning that we access the upper left corner by
img_rotated[-107,-160]
and the lower right corner by
img_rotated[592,539]
. It’s not hard to see why these numbers arise,
if we see how the corners of img
are transformed by tfm
:
```julia julia> using StaticArrays
julia> itfm = inv(tfm) AffineMap([0.866025 0.5; -0.5 0.866025], [-108.253, 95.9936])
julia> itfm(SVector(1,1)) 2-element SVector{2,Float64}: -106.887 96.3597
julia> itfm(SVector(512,1)) 2-element SVector{2,Float64}: 335.652 -159.14
julia> itfm(SVector(1,512)) 2-element SVector{2,Float64}: 148.613 538.899
julia> itfm(SVector(512,512)) 2-element SVector{2,Float64}: 591.152 283.399 ```
This makes it apparent that the output’s indices span the region of the transformed coordinates.
The fact that the output preserves the coordinates makes it trivial to compare the images:
julia
julia> cv = colorview(RGB, paddedviews(0, img, img_rotated, img)...)
paddedviews(0, arrays...)
pads input arrays with 0, as needed, to
give them all the same indices, and colorview(RGB, r, g, b)
inserts
the grayscale images r
, g
, and b
into the red, green, and blue
channels respectively. If we visualize cv
, we see the following:
| around image center | around head (cv) |
|---|---|
The image on the left is for reference, showing what a rotation around the image center would look like when properly aligned. The image on the right corresponds to the steps taken above, and indeed confirms that the rotation is around the head. Alternatively, we can focus on the overlapping portions of these images like this:
```julia julia> inds = map(intersect, indices(img), indices(img_rotated)) (1:512, 1:512)
julia> imgi = img[inds…];
julia> imgri = img_rotated[inds…]; ```
so that colorview(RGB, imgi, imgri, imgi)
displays as
Since the indices of the pixels encode absolute spatial location, it’s
trivial to keep track of how different pixels align: pixel i,j
in
one image corresponds to pixel i,j
in the other. This is true even
if our coordinate transformation were far more complicated than a
simple rotation.
Having motivated why this might be useful, let’s take a step back and walk through array indices a bit more systematically.
In Julia, if we define an array
julia
julia> A = collect(reshape(1:30, 5, 6))
5×6 Array{Int64,2}:
1 6 11 16 21 26
2 7 12 17 22 27
3 8 13 18 23 28
4 9 14 19 24 29
5 10 15 20 25 30
then we can refer to a rectangular region like this:
julia
julia> B = A[1:3, 1:4]
3×4 Array{Int64,2}:
1 6 11 16
2 7 12 17
3 8 13 18
For certain applications, one negative to extracting blocks is that there is no record indicating where the new block originated from:
```julia julia> B2 = A[2:4, 1:4] 3×4 Array{Int64,2}: 2 7 12 17 3 8 13 18 4 9 14 19
julia> B2[1,1] 2 ```
So B2[1,1]
corresponds to A[2,1]
, despite the fact that, as
measured by their indices, these are not the same location.
To maintain consistent “naming” of our indices, let’s use the OffsetArrays package:
```julia julia> using OffsetArrays
julia> B3 = OffsetArray(A[2:4, 1:4], 2:4, 1:4) # wrap the snipped-out piece in an OffsetArray OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}} with indices 2:4×1:4: 2 7 12 17 3 8 13 18 4 9 14 19
julia> B3[3,4] 18
julia> A[3,4] 18 ```
So the indices in B3
match those of A
. Indeed, B3
doesn’t even
have an element “named” (1,1)
:
julia
julia> B3[1,1]
ERROR: BoundsError: attempt to access OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}} with indices 2:4×1:4 at index [1, 1]
Stacktrace:
[1] throw_boundserror(::OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}}, ::Tuple{Int64,Int64}) at ./abstractarray.jl:426
[2] checkbounds at ./abstractarray.jl:355 [inlined]
[3] getindex(::OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}}, ::Int64, ::Int64) at /home/tim/.julia/v0.6/OffsetArrays/src/OffsetArrays.jl:89
In this case we created B3
by explicitly “wrapping” the extracted
array inside a type that allows you to supply custom indices. (You
can retrieve just the extracted portion with parent(B3)
.) We could
do the same thing by adjusting the indices instead:
```julia julia> using IdentityRanges
julia> ind1, ind2 = IdentityRange(2:4), IdentityRange(1:4) (IdentityRange(2:4), IdentityRange(1:4)) ```
An IdentityRange
is a range with indices that match its values, r[i] == i
. (ind1, ind2 = OffsetArray(2:4, 2:4), OffsetArray(1:4, 1:4)
would be functionally equivalent.) Let’s use ind1
and ind2
to snip out the region of the array:
```julia julia> B4 = A[ind1, ind2] OffsetArrays.OffsetArray{Int64,2,Array{Int64,2}} with indices 2:4×1:4: 2 7 12 17 3 8 13 18 4 9 14 19
julia> B4[3,4] 18 ```
This implements a simple rule of composition:
If C = A[ind1, ind2]
, then C[i, j] == A[ind1[i], ind2[j]]
Consequently, if your indices have their own unconventional indices, they will be propagated forward to the next stage.
This technique can also be used to create a “view”:
```julia julia> V = view(A, ind1, ind2) SubArray{Int64,2,Array{Int64,2},Tuple{IdentityRanges.IdentityRange{Int64},IdentityRanges.IdentityRange{Int64}},false} with indices 2:4×1:4: 2 7 12 17 3 8 13 18 4 9 14 19
julia> V[3,4] 18
julia> V[1,1] ERROR: BoundsError: attempt to access SubArray{Int64,2,Array{Int64,2},Tuple{IdentityRanges.IdentityRange{Int64},IdentityRanges.IdentityRange{Int64}},false} with indices 2:4×1:4 at index [1, 1] Stacktrace: [1] throw_boundserror(::SubArray{Int64,2,Array{Int64,2},Tuple{IdentityRanges.IdentityRange{Int64},IdentityRanges.IdentityRange{Int64}},false}, ::Tuple{Int64,Int64}) at ./abstractarray.jl:426 [2] checkbounds at ./abstractarray.jl:355 [inlined] [3] getindex(::SubArray{Int64,2,Array{Int64,2},Tuple{IdentityRanges.IdentityRange{Int64},IdentityRanges.IdentityRange{Int64}},false}, ::Int64, ::Int64) at ./subarray.jl:184 ```
Note that this object is a conventional SubArray
(it’s not an
OffsetArray
), but because it was passed IdentityRange
indices it
preserves the indices of the indices.
As illustrated above for the image rotation example, a recent release
(v0.6.0) of the Images package put both the power and responsibility
for dealing with arrays with custom indices into the hands of users.
One of the key functions in this package is imfilter
which can be
used to smooth or otherwise “filter” arrays. The idea is that starting
from an array A
, each local neighborhood is weighted by a “kernel”
kern
, producing an output value according to the following formula:
This is the formula for correlation; the formula for another operation, convolution, is very similar.
Let’s start with a trivial example: let’s filter with a “delta
function” kernel, meaning it has value 1
at location 0 and is zero
everywhere else. According to the correlation formula, because kern[J]
is 1 at J==0
, this should simply give us a copy of our original array:
```julia julia> using Images
julia> imfilter(1:8, [1])
WARNING: assuming that the origin is at the center of the kernel; to avoid this warning, call centered(kernel)
or use an OffsetArray
Stacktrace:
[1] depwarn(::String, ::Symbol) at ./deprecated.jl:64
[2] _kernelshift at /home/tim/.julia/v0.6/ImageFiltering/src/imfilter.jl:1049 [inlined]
[3] kernelshift at /home/tim/.julia/v0.6/ImageFiltering/src/imfilter.jl:1046 [inlined]
[4] factorkernel(::Array{Int64,1}) at /home/tim/.julia/v0.6/ImageFiltering/src/imfilter.jl:1016
[5] imfilter at /home/tim/.julia/v0.6/ImageFiltering/src/imfilter.jl:10 [inlined]
[6] imfilter(::UnitRange{Int64}, ::Array{Int64,1}) at /home/tim/.julia/v0.6/ImageFiltering/src/imfilter.jl:5
[7] eval(::Module, ::Any) at ./boot.jl:235
[8] eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
[9] macro expansion at ./REPL.jl:97 [inlined]
[10] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73
while loading no file, in expression starting on line 0
8-element Array{Int64,1}:
1
2
3
4
5
6
7
8
```
The warning is telling you that Images decided to make a guess about
your intention, that the kernel [1]
was intended to be centered around zero. You can
suppress the warning by explicitly passing the following kernel
instead:
```julia julia> kern = centered([1]) OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}} with indices 0:0: 1
julia> kern[0] 1
julia> kern[1] ERROR: BoundsError: attempt to access OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}} with indices 0:0 at index [1] Stacktrace: [1] throw_boundserror(::OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}}, ::Tuple{Int64}) at ./abstractarray.jl:426 [2] checkbounds at ./abstractarray.jl:355 [inlined] [3] getindex(::OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}}, ::Int64) at /home/tim/.julia/v0.6/OffsetArrays/src/OffsetArrays.jl:94 ```
By using an OffsetArray
you have clearly specified your intended indices for kern
.
This can be used to shift an image in the following way (by default, imfilter
returns its results over the same domain as the input):
```julia julia> kern2 = OffsetArray([1], 2:2) # a delta function centered at 2 OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}} with indices 2:2: 1
julia> imfilter(1:8, kern2, Fill(0)) # pad the edges of the input with 0 8-element Array{Int64,1}: 3 4 5 6 7 8 0 0
julia> kern3 = OffsetArray([1], -5:-5) # a delta function centered at -5 OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}} with indices -5:-5: 1
julia> imfilter(1:8, kern3, Fill(0)) 8-element Array{Int64,1}: 0 0 0 0 0 1 2 3 ```
These are all illustrated in the following figure:
In this figure, we plotted the kernel as if it were at the location corresponding to convolution rather than correlation.
In other programming languages, when filtering with a kernel that has an even number of elements, it can be difficult to remember which of the two middle elements corresponds to the origin. In Julia, that’s not an issue, because you can make that choice for yourself:
```julia julia> kern = OffsetArray([0.5,0.5], 0:1) OffsetArrays.OffsetArray{Float64,1,Array{Float64,1}} with indices 0:1: 0.5 0.5
julia> imfilter(1:8, kern, Fill(0)) 8-element Array{Float64,1}: 1.5 2.5 3.5 4.5 5.5 6.5 7.5 4.0
julia> kern = OffsetArray([0.5,0.5], -1:0) OffsetArrays.OffsetArray{Float64,1,Array{Float64,1}} with indices -1:0: 0.5 0.5
julia> imfilter(1:8, kern, Fill(0)) 8-element Array{Float64,1}: 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 ```
Likewise, sometimes we might have an application where we simply can’t handle the edges properly, and we wish to discard them. For example, consider the following quadratic function:
```julia julia> a = [(i-3)^2 for i = 1:9] # a quadratic function 9-element Array{Int64,1}: 4 1 0 1 4 9 16 25 36
julia> imfilter(a, Kernel.Laplacian((true,))) 9-element Array{Int64,1}: -3 2 2 2 2 2 2 2 -11 ```
Those weird values on the edges (for which there is no padding that will “extrapolate” the quadratic) might cause problems. Consequently, let’s only extract the values that are well-defined, meaning that all inputs to the correlation formula have explicitly-assigned values:
julia
julia> imfilter(a, Kernel.Laplacian((true,)), Inner())
OffsetArrays.OffsetArray{Int64,1,Array{Int64,1}} with indices 2:8:
2
2
2
2
2
2
2
Notice that in this case, it returned an OffsetArray
so that the
values in the result align properly with the original array.
There are many more things you can do with custom indices. As one last illustration, consider the Discrete Fourier Transform, which is defined on a periodic domain. Typically, it’s rather difficult to emulate a periodic domain with arrays, because arrays have finite size. However, it’s possible to define indexing objects which possess periodic behavior. Here we use the FFTViews package, demonstrating the technique on a simple sinusoid:
```julia julia> using FFTViews
julia> a = [sin(2π*x)+0.1 for x in linspace(0,1,16)];
julia> afft = FFTView(fft(a)) FFTViews.FFTView{Complex{Float64},1,Array{Complex{Float64},1}} with indices FFTViews.URange(0,15): 1.6+0.0im 1.498-7.53098im -0.288537+0.69659im -0.236488+0.35393im -0.222614+0.222614im -0.216932+0.14495im -0.214217+0.0887316im -0.212937+0.0423558im -0.212557+0.0im -0.212937-0.0423558im -0.214217-0.0887316im -0.216932-0.14495im -0.222614-0.222614im -0.236488-0.35393im -0.288537-0.69659im 1.498+7.53098im ```
Now, as every student of Fourier transforms learns, the 0-frequency bin holds the sum of the values in a
:
julia
julia> afft[0]
1.6000000000000003 + 0.0im
Since the mean of a sinusoid is zero, this is (within roundoff error) 16*0.1 = 1.6.
We can also check the amplitude at the Fourier-peak, and explore the periodicity of the result:
```julia julia> afft[1] 1.4980046017247872 - 7.53097769363728im
julia> afft[-1] # negative frequencies are OK 1.4980046017247872 + 7.53097769363728im
julia> afft[64+1] # look Ma, it’s periodic! 1.4980046017247872 - 7.53097769363728im
julia> length(indices(afft,1)) # but we still know how big it is 16 ```
Given the periodicity of afft
, the commonly-used fftshift
function
(e.g., fftshift(fft(a))
) can be replaced by afft[-8:7]
. While very simple,
these techniques make it surprisingly more pleasant to deal with what
can sometimes become complex and error-prone index gymnastics.
This has only scratched the surface of what’s possible with custom indices. In the opinion of the author, their main advantage is that they can increase the clarity of code by ensuring that “names” (indices) can be endowed with absolute meaning, rather than always being “referenced to whatever the first element of this particular array happens to encode.”
There is quite a lot of code that hasn’t yet properly accounted for the possibility of custom indices—surely, some of it written by the author of this post! So users should be prepared for the possibility that exploiting custom indices will trigger errors in base Julia or in packages. Rather than giving up, users are encouraged to report such errors as issues, as this is the only way that custom indices will, over the course of time, have solid support.
For some algorithms, there appears to be little reason to ever use arrays with anything but 1-based indices; in such cases, there may be no reason to modify existing code. But if your code has a “spatial” interpretation–where location has meaning–then you just might want to give the new facilities a try.
In transitioning existing code, the author of this post has observed the following tendencies:
algorithms that exploit custom indices are sometimes simpler to understand than their “1-locked” counterparts;
if you’re porting old code to support custom indices, there’s some bad news: if you had to think carefully about the indexing the first time you wrote it, it usually requires significant investment to re-think the indexing, even if the end result is somewhat simpler.
even when a specific algorithm might gain little advantage from supporting arbitrary indices, writing code that is “indices aware” from the beginning is often no harder than writing algorithms that implicitly assume indexing starts at 1.
Developers are referred to Julia’s documentation for further guidance.


Underline 1
Some normal text with random underline or span with underline or underline with span...
Underline 2
Underline 3
Unlined link or Linked underline ?
Some underline and strong text
U and A are not friends, Boys & Girls Clubs of the Austin Area, The First Tee of Greater Austin
U and A are not friends, Boys & Girls Clubs of the Austin Area, The First Tee of Greater Austin


Switch to run mode
You are currently editing this world
Explore the XRPackage registry
Learn how to make packages and worlds
Avatars, wearables, worlds -- built and owned by you!
Webaverse is a digital network of apps that run everywhere.
Made with IPFS, Ethereum, WebXR.


The goal of DBF is to provide dummy DB syntax in namespace to use functions with dplyr
You can install the developed version of DBF from github with:
library(dplyr)
library(DBI)
library(DBF)
conn <- dbConnect(
RPostgres::Postgres(),
host = HOST, # i.e. 'ec2-54-83-201-96.compute-1.amazonaws.com'
port = 5432, # or any other port specified by your DBA
user = 'postgres',
password = 'password'
)
copy_to(conn, test)
list_of_syntax <- get_function(conn)
set_function(list_of_syntax)
tbl(conn, "test") %>%
mutate(date = DATE_TRUCN("day", date))
Tyler Morgan-Wall @tylermorganwall history


BaseDict Class
dictionary-structured data model
Methods
contains
-
item
check if the model contains the given submodel or not
Parameters:
-
item
BaseModel
Returns:
containsEntity
()
Boolean
public
static
returns item is Entity
Returns:
emitLoaded
()
private
tell listeners emit loaded
get
-
key
return submodel of the given key
Parameters:
-
key
String | Number
Returns:
getPropInfo
()
PropInfo
public
get an instance of PropInfo, which summarizes properties of this class
Returns:
has
-
key
check if the model has submodel of the given key or not
Parameters:
-
key
String | Number
Returns:
include
-
[options]
include all relational models if not set
Parameters:
-
[options]
Object optional-
[recursive]
Boolean optionalrecursively include models or not
-
Returns:
self
inherit
-
anotherModel
inherit value of anotherModel
Parameters:
-
anotherModel
BaseModel
Returns:
this
key
()
protected
static
get unique key from item
on
()
public
on addEventlisteners for 'loaded'
remove
-
item
remove submodel from items both acceptable, keys and submodels
Parameters:
-
item
BaseModel | String | Number
setEntityProp
-
prop
-
submodel
set related model(s)
Parameters:
-
prop
Stringproperty name of the related model
-
submodel
Entity | Array
Returns:
this
setIds
-
ids
set ids.
Parameters:
-
ids
Array(String | Number)
setItems
-
models
set items from dic object update to new key
Parameters:
-
models
Object | Array
toArray
()
public
export models to Array
toPlainObject
()
Object
create plain dict. if this dict contains entities, returns their ids if this dict contains non-entity models, returns their plain objects
Returns:
plainObject
Properties
ids
Array
public
ids: get ids of items
itemModelName
String
protected
static
model name of the item
items
Objects
items: dictionary of keys - models
loaded
Boolean
loaded: is data loaded or not