Showing 1 to 20 of 55 results
Advanced Search Beta »- Relevancy
- Score
- Most Recent
-
TV Show
- Start date: Sep 28, 1987
- Starring: Brent Spiner, Colm Meaney, Denise Crosby, Diana Muldaur, Gates McFadden, Jonathan Frakes, LeVar Burton, Marina Sirtis, Michael Dorn, Patrick Stewart, Wil Wheaton
- Genre(s): Drama, Action & Adventure, Science Fiction
Space... The final frontier... These are the voyages of the Starship Enterprise. Its continuing mission: To explore strange new worlds... To seek out new life; new civilisations... To boldly go...
-
Game PC
- Release Date: May 15, 2012
- Publisher: Atlus Co.
Based on George R.R. Martin's best-selling 'A Song of Ice and Fire' series, Cyanide has developed games for the PC and next-gen consoles.
-
Trailer
- Release Date: May 15, 2012
- Publisher: Atlus Co.
Based on George R.R. Martin's best-selling 'A Song of Ice and Fire' series, Cyanide has developed games for the PC and next-gen consoles.
-
Movie
- Release Date: November 1, 2013
- Starring: Abigail Breslin, Asa Butterfield, Hailee Steinfeld, Harrison Ford
- Genre(s): Action, Adventure, Sci-Fi
- User Score: 6.8
- Runtime: 114 min
The Earth was ravaged twice by the Buggers, an alien race seemingly determined to destroy humanity. Seventy years later, the people of Earth remain banded together to prevent our own annihilation...
-
Album
- Release Date: May 26, 2009
The latest album for the British artist features singer Lavinia Blackwell, John Contreras on cello and Joolie Wood on violin.
-
People
- Average Movie career score: 37
- Average Album career score: 70
- Born: Apr 3, 1941
- Categories: Game, Movie, Album
-
Company
- Average career score: 74
- Latest Game: Halo
-
Feature
- Posted By: Jason Dietz
- Posted On: June 4, 2012
What are critics saying about "Valar Morghulis," last night's second-season finale for HBO's hit Game of Thrones? Find out inside, where we've collected their comments about this week's episode and...


Captain Andrei:
Do you have any idea how hard it is to keep the peace in a village like this? Not a day goes by without some low-lifes showing up and making trouble! Monsters lurk outside the village. The rich people keep complaining about the lack of security.. It's a thankless job I have...
"Who is the lord of the manor and what is the tax rate?"
Quest


IVML Examples
Plotting Points
Explanation of the points examples
Drawing Lines
Explanation of charting with lines
Simple Zooming
Explanation of the points examples
Quad Charts
Explanation of charting with lines
Hurricane Chart
Explanation of the points examples
2-Dimensional Zooming
Explanation of charting with lines
Bar Charts
Explanation of the points examples
Game of Life
Explanation of charting with lines


Breakout
A recreation of a classic game
Breakout was one of the games which laid the foundations for my interest in video games. Therefore, this homework was an absolute blast for me. Given that I have worked for more than a week for the game and I’m pretty happy with the finished product and if I had 6–8 weeks to work on it, I would have done more things and fixed some bugs. Below is the trailer of the game.
Early draft of the game and how the home screen would look like if created</div> Ideally, I would’ve liked a start screen, which allowed the user to pick the language they want and allow them to start the game, I think this is a more interactive option and certainly more appealing for the user. Additionally an option to pause the game would also be good, the current build is literally akin to playing the game in an arcade game parlour.
Ideally, I would’ve liked a start screen, which allowed the user to pick the language they want and allow them to start the game, I think this is a more interactive option and certainly more appealing for the user. Additionally an option to pause the game would also be good, the current build is literally akin to playing the game in an arcade game parlour.
I certainly would like to improve the aesthetics of the game, adding blocks in between the bricks would be good, this would make the collisions with the ball a bit more unpredictable, which brings me to the point of using randomized velocities, which would be influenced by an angle, according to the position the ball collides at. This would also help making the forthcoming levels harder. We don’t want the game to be too easy, so certain special bricks could be created, which could give the ball a special power, this could be becoming a fireball, which makes the bricks destroyed at one hit, rather than two hits. This power would remain for a given amount of time and the ball would to back to its normal state after that. Similar thing could be implemented for a paddle. I would also clean up the code and test the game. Game testing is very crucial to building a really good game, ofcourse one can’t find all the bugs, but finding enough helps to make the user experience smooth and also allows to spread the good word. The below is a link to the public git repo which contains the build and the documentation.
Below is the trailer of the game.
To conclude, this was an excellent experience for me and I learnt a lot in my game dev journey with SDL and C++.


Chen Pengfei freenam fan Photography fireworks skills name skills name xxxxxxxxxxx xxxxxxxxxxx<EMAIL_ADDRESS>Skills and Expertise Photography fireworks skills name skills name


A current project required me to drop a Silverlight control into a WebPart for inclusion in a Microsoft SharePoint site. In the past, I think that the Silverlight component could be created programmatically like any other ASP.NET control, but if I understand correctly, this support has been dropped from the latest version of Silverlight (4.0 as of this writing).
As you may know, WebParts do not natively support the use of the ASP.NET templating engine in order to assist with rendering its contents. That is, we can’t create a corresponding markup file as we do with .aspx or .ascx components. We can work around this by using LoadControl() in order to render a user control (.ascx file) within the body of the WebPart’s CreateChildControls() method, but I wanted to see if I could avoid having to create a separate user control just for embedding my Silverlight component.
I found two currently supported approaches to adding Silverlight content to a page in version 4: using an object tag or client-side using Javascript.aspx). Since I wasn’t doing much else with Javascript on the client, I wanted to stick to a server-side solution. My attempts at programmatically creating the Silverlight control as outlilned here failed, so what I ended up doing was to embed the object tag into an HtmlGenericControl directly in the WebPart. Here is the code:
One small thing to note is that we need to specify a height for the Silverlight control when it appears in a WebPart zone. Setting width to 100% is fine, but setting the height must be done using a specific height due to the layout logic used by the zones.
I just started writing some new Silverlight controls for a client project and I was struggling with trying to get a tab control to span the full width of its container. I was reading everywhere that setting Width=”Auto” was the way to accomplish this in Silverlight4, rather than the old way of doing it, which was setting Width=”*”. However no matter what I did, I couldn’t get my control to span its container.
The Grid element was filling its container just fine using Width=”Auto”, but its child TabControl was still not expanding. Finally I started removing attributes on the TabControl to get to the bare basics of what could work. After I removed the alignment properties I started getting somewhere. Here is the new code for the TabControl:
This makes sense if you think about the alignment directives as CSS floats. There is no equivalent in CSS for the VerticalAlignment property, but it looks like the HorizontalAlignment is roughly analogous to a float. In HTML/CSS, floating a block level element causes it to contract in size to the dimensions of its contents. This is roughly what I was seeing here. Removing the float let the element expand to its container.
Hopefully the hour I spent messing with this helps somebody else out.
I’ve been on a tear with Microsoft Silverlight development, and now I’ve paused for a second and I’m wondering how can I test this stuff like I would with a regular website?
Well it turns out that I’m not the only one to think this. The Silverlight Toolkit guys have included the Silverlight Unit Test Framework in their distribution. I just got the bits installed, and I’ll be trying it out shortly so hold tight for some future posts on getting tests built for Silverlight apps.
This is the first tutorial that I’m going to look at, since it goes through the details of hooking into the UI. Some of the other tutorials don’t go into this.
I needed to get another developer’s WebParts building under my CruiseControl server today. After checking the code out on the build box I realized that I would need a few dependencies that were not available since SharePoint was not installed on the build machine. After grabbing the obvious references I needed to build the project and changing the project references around I got to a point where MSBuild was giving me the following error:
123
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1835,9):
error MSB3091: Task failed because "resgen.exe" was not found, or the correct
Microsoft Windows SDK is not installed.
Ok, so apparently I needed to install the Windows SDK on the build box. More specifically, I needed to grab the .NET SDK, which is now distributed as part of the Windows SDK as of the .NET 4.0 Framework. Thankfully the Web installer allows you to install just the .NET components, so I didn’t have to download the entire ISO image just to grab the .NET SDK.
I ran msbuild again and got the following error:
12345
C:\Program Files\CruiseControl.NET\...\SharePoint.WebParts.csproj(153,3): er
ror MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets" was not fo
und. Confirm that the path in the <Import> declaration is correct, and that the
file exists on disk.
I copied the targets over from another machine that had Visual Studio installed, and now I got another error:
12345
C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\SharePointTools\Microso
ft.VisualStudio.SharePoint.targets(343,5): error : Could not load file or assem
bly 'Microsoft.VisualStudio.SharePoint.Designers.Models, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The s
ystem cannot find the file specified.
I searched around for Microsoft.VisualStudio.SharePoint.Designers.Models.dll but I didn’t find it right away. I thought that it was time to start Googling around to see where this tunnel ends and turned up this document from Microsoft.
This outlines exactly what I was trying to figure out in the steps above. Unfortunately it looks like a lot of work so I have to bail and just install CruiseControl on one of the SharePoint machines for now. I’ll be sure to update this if I give it another shot.
UPDATE:
I did get CruiseControl to build a SharePoint project on a machine without SharePoint installed on it. Every detail that you need to make this work is in the MSDN article for getting TFS builds to work. The only difference is that you will kick off the msbuild process from CruiseControl instead of TFS. One drawback to building on a machine that does not have SharePoint is that you won’t be able to run automated tests that involve calls to SharePoint functionality. If you are careful about your design though, a lot of functionality can be tested without SharePoint since most Web Part functionality is now actually part of ASP.NET.
I was debugging a piece of code just now when I realized that my problem was in an assumption that I had made about Key properties in a DynamicEntity.
I thought that a Key field was a unique key for the entity instance, which it is, sort of. There apparently can be more than one Key field in an entity instance, so my code that was supposed to return the ID of an entity instance wasn’t working because it was finding a second Key field:
I’m at a loss now for a good way to return the ID of an entity instance. You could always assume that it is going to be the entity name + ‘id’, but I don’t think that is 100% reliable. I could be wrong though. Since the IDs are GUIDs, I have no idea why it makes any sense to have more than one key (or a composite key). I’m still looking into this one.
Update:
I ended up with a hack that just looks at the entity name and tacks on ‘id’ to the end and searches for this string pattern in the attribute names. This feels pretty dirty, but I don’t know what else to do.
I come across oddities and oversights pretty frequently in the CRM SDK/API. The latest one is that there is no way to write a generic method to pull a property value out of a CRM Property type. Let me show you what I’d like to write:
This doesn’t work since Property doesn’t define a value parameter. It is up to the individual derived classes to define this. I can understand maybe they didn’t want to constrain all Property types to have a value, but it would be nice to have IDataProperty or some kind of interface that defines the Value parameter. To put this into perspective, the SDK code that handles this simple function is nearly 100 lines of code, and relies on runtime type identification (reflection) in order to determine how to cast the value properly.
Several of our clients use PayPal as their payment gateway, so we have some general library code that deals with the PayPal payment gateway (PayFlow Pro).
In order to test our our code, of course we needed a sandbox account on the PayPal servers. However, it is not obvious how this works. Fortunately, I came across this post that describes how to get a test account set up. It is a bit counterintuitive, but you go through the signup process for a full account and just abort at the last step.
Hopefully this post adds some weight to this guy’s post (It worked great for me).
After working on several client projects involving DynamicEntities, I have a few things to get written up from my notes. Since DynamicEntities, by definition, are not strongly-typed (in terms of CRM entities, of course they are concrete .NET types themselves) they require a bit of casting-and-cajoling in order to work with.
The first thing to note is that if a field is empty in CRM, DynamicEntity objects that are passed back from the CRM service won’t have this field in the properties collection at all. This means that we have to check for the field before we even start. Accessing the collection via its string indexer will throw an exception if the property doesn’t exist. In code:
1234
if(dynamicEntity.Properties.Contains("myprop")){// throws if "myprop" doesn't exist in the collectionmyProp=de.Properties["myprop"];}
The second big thing is that, while we need an actual Property instance when adding properties to a DynamicEntity, they are not returned when read back from the collection. The DynamicEntity doesn’t even keep a reference to the Property instance under the hood – it basically throws it away. In code:
I’ll post a few more things later and hopefully some code to keep this kind of complexity in check.
Update:
I just wanted to add a little tidbit brought up by someone about iterating over a PropertyCollection. When performing an iteration over a collection of properties, there is an implicit conversion to Property that happens in the iteration statement. Take this sample code:
I’ve bolded the conversion to Property as well as the cast back to KeyProperty. We still start out with a Key object, but it apparently GetEnumerator() wraps things up into a Property object behind the scenes.
Here is the disassembled code for PropertyCollection.InternalGetEnumerator():
I’ve been messing with several ways of doing binary code releases recently with mixed success. Ideally I want to be able to build a solution with msbuild and have the output moved into folders for debug and release, with the assembly version and the target framework having separate folder locations for each. In other words, the bin\ folder would look like this:
12345
bin\
<IP_ADDRESS>\
v3.5\
Debug\
Release\
The main requirement is that the modifications that I need to make must be compatible with Visual Studio. Other developers have to be able to use the project files normally and they have to do something sensible by default.
The other part of the problem is that I want the version number to be read out of the AssemblyInfo.cs file so that the folder name and the actual assembly version are always in sync. Unfortunately my attempts at reading AssemblyInfo.cs haven’t worked out. Due to the peculiar behavior of msbuild when building Visual Studio project files, I’m not able to dynamically change the value of a property based on the results of a custom build task that reads the version number out of the file. There is enough there for another post on this, but that will have to come another time.
My new approach is to just feed the version number manually to a batch file that will call msbuild with the appropriate property value set.
Let’s look at the changes that we need to make to the .csproj file. First we look at the OutputPath property and change it to use the target framework version and a custom property that we will define called PointVersion. The property definition looks like this:
I’m going to do the same change for the release configuration. The next thing is to define PointVersion and give it a default value. The default value is going to be SNAPSHOT, since if we aren’t doing a release, we want to keep overwriting the same output rather than bumping the version number all the time or mistakenly updating the code of already-released versions. I want to avoid having binaries floating around that have the same version number but potentially different code. Here is the property definition:
1
<PointVersion>SNAPSHOT</PointVersion>
Note that this is declared under the main section of the .csproj file. Now that this is set up, building the project from Visual Studio will give us a folder structure like this:
12345
bin\
SNAPSHOT\
v3.5\
Debug\
Release\
We’re getting pretty close. Now we want a script called publish.bat that we can use to build all configurations that we want with one action. The very simplest thing we can do is to put several parameterized calls to msbuild into a batch file like this:
which we can call with the version number as the first parameter like this:
1
c:\> publish.cmd <IP_ADDRESS>
This is not completely ideal, as I’d rather be able to bump the version in the AssemblyInfo.cs file. The next step is to grab the regular expression from the msbuild task that I found and run it in the batch file probably. I wish things would have worked out within msbuild, but it seems that this kind of thing is endemic to build systems in general.
I’m using a Javascript library in order to do some data manipulation, and I wondered if there was a way to include the source JS file in my script. There is nothing like an include directive in WSH but it does support a mechanism for managing script files that is very similar to how it would work in a Web browser. To do this we create a file with the .wsf extension:
Note that we can include files as well as inline code. The wsf script can now be invoked on the commandline with cscript as you would any vbs or js script file.


--- layout: page title: About Me permalink: /about/ ---
Hello you! Welcome to Schadler Solutions - your IT Professional - it's a pleasure for me to welcome you here.
I would describe myself as a normal guy from Austria in his early 30s who loves everything which is related to technology, football, photography and travelling. Through my educational and professional career I have gained huge knowledge in programming with object-oriented languages like C# and Java and script languages like JavaScript and everything which is connected to the Word Wide Web - HTML, CSS, JSON, REST, SOAP, XML to count some :-).
Besides that I had finished the Bachelor Degree in Software Design at the FH-Joanneum in 2014 and directly afterwards I finished the Master's Degree IT Law & Management in 2016 there. Both were extra-occupational.
In the Blog section I try to push new quality content about programming with C#, Web Services, Microsoft Dynamics CRM and Web Technologies. Let me know what you think about it and if you have any specific questions or feature topic request - just let me know.
I would love to connect with you guys! You'll find me at various (probably all) social media networks, here on my homepage and of course via this little old thing called email.


# AIM IS TO MAKE THE BALL STRIKE ON A BOX AND COLLECT POINTS.
 You should search for your OS specific functions or get a library which does it for you.
Do you know which library you are going to use for this yet OP? You could technically do this with the standard library but I really would NOT recommend it. You'll spend twice as long creating and inferior product. I usually suggest SFML to people since that is the one that I am most familiar with. But SDL and Allegro are two more good choices with a decent sized following among our contributing members.


User interface has to be adjustable and adaptive to an environment and a hardware where it can be shown. In that respect existence of mobile phones, various WEB browsers, different operation systems, PCs, laptops, tablets and combinations of all these factors makes life harder. To avoid potential UI layouting problems developers should not locate and size UI components by assigning dedicated (x,y) coordinates and (width,height) values. Otherwise even slight font changing can crash designed UI layout.
Layout managers is well known solution to get adaptive UI. That is exactly the thing that helps developing adjustable UI layout. Layout manager doesn’t trust fixed UI components positions and sizes. It uses rules-based manner to order UI components. Layout manager is defined on the level of an UI component and “knows” two important things:
How to order UI children components
How to compute the component preferred size basing on its children components hierarchy
Technically zbkit layout manager class has to implement the following:
“doLayout(target)” method to define rules children components of the given target component has to be laid outed
“calcPreferredSize(target)” method to calculate size the given target component desires to have
“zebkit.layout.Layout” interface should be implemented by a layout manager class
A layout manager can be applied to any Zebra UI component by calling “setLayout(layout)” method. Additionally children UI components can specify extra parameter called constraints that is specific for a particular layout manager. It is can be done either by setting a children component “constraints” field or during insertion of the component to the parent component:
zebkit.require("ui", function(ui) {
// create panel
var p = new ui.Panel();
// set layout manager for the panel
p.setBorderLayout();
// add children components
p.add("center", new ui.Label("Center"));
// another way to specify constraints is filling "constraints"
// field of a children component
var l = new ui.Label("Top");
l.constraints = "top";
p.add(l);
...
});
Nevertheless zebkit provides rich set of different predefined layout managers, it makes sense for better understanding to start from developing an own Zebra layout manager. It should help to discover how simple the idea is. As an example, let’s develop layout manager that orders components along parent component diagonal:
zebkit.package("ui.demo", function(pkg, Class) {
// declare layout manager class
pkg.DiagLayout = Class(zebkit.layout.Layout,[
// define what preferred size the given "target" component
// wants to have. in this case it calculated as sum of
// preferred heights and widths of children components
function calcPreferredSize(target) {
var psW = 0, psH = 0;
for(var i=0; i < target.kids.length; i++) {
var kid = target.kids[i];
if (kid.isVisible) {
var ps = kid.getPreferredSize();
psW += ps.width;
psH += ps.height;
}
}
return { width:psW, height:psH };
},
// define rules how children components of the
// given "target" have to be ordered
function doLayout(target) {
var x = target.getTop(), y = target.getLeft();
for(var i=0; i < target.kids.length; i++) {
var kid = target.kids[i];
if (kid.isVisible) {
var ps = kid.getPreferredSize();
kid.setBounds(x, y, ps.width, ps.height);
x += ps.width;
y += ps.height;
}
}
}
]);
});
Use just developed diagonal layout manager as follow:
| Custom diagonal layout |
zebkit.require("ui", "ui.demo", function(ui, demo) {
var r = new ui.zCanvas("layoutSampleDiag", 200,200).root;
// set developed above diagonal layout manager
r.setLayout(new demo.DiagLayout());
// add children components
r.add(new ui.Button("One"));
r.add(new ui.Button("Two"));
r.add(new ui.Button("Three"));
});
Below you can find snapshots for all supplied by zebkit layout managers. Every snapshots are provided together with “live” application that run the snapshot source code directly on this page.
The layout manager places children UI components over each other and stretches its to fill the whole parent component surface.
| Paint on top method implementation |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("layoutSample1", 300, 300).root;
r.setBorder("plain");
// set stack layout manager
r.setStackLayout();
// add button
r.add(new ui.Button("Under transparent"));
// add partially transparent panel component
var p = new ui.Panel();
p.setBackground("rgba(240,240,240,0.7)");
r.add(p);
});
Border layout manager splits component area into five parts: top, left, right, bottom and center. Children components are placed to one of the part basing on constraints that have been specified for them:
| Border layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("layoutSampleBorder", 600,350).root;
// set border layout manager
r.setBorderLayout();
// add children UI components with different constraints
r.add("center", new ui.Button("CENTER"));
r.add("left", new ui.Button("LEFT"));
r.add("right", new ui.Button("RIGHT"));
r.add("top", new ui.Button("TOP"));
r.add("bottom", new ui.Button("BOTTOM"));
});
Percent layout manager orders children components basing on percentage sizes of the components. The percentage sizes are defined as the children components constraints.
Horizontally ordered percent layout manager with stretched vertically components
| Percent layout |
zebkit.require("ui","layout",function(ui, lay) {
var r = new ui.zCanvas("percentLayout1", 400, 250).root;
r.setBorder("plain");
// set percent layout manager that stretches components
// vertically and sizes component horizontally according
// to its percentage constraints
r.setLayout(new lay.PercentLayout());
// add button that takes 20% of horizontal space
r.add(20, new ui.Button("20%"));
// add button that takes 30% of horizontal space
r.add(30, new ui.Button("30%"));
// add button that takes 50% of horizontal space
r.add(50, new ui.Button("50%"));
});
Horizontally ordered percent layout manager with preferred components heights
| Percent layout |
zebkit.require("ui","layout",function(ui, lay) {
var r = new ui.zCanvas("percentLayout2", 400, 200).root;
r.setBorder("plain");
// set percent layout manager that sizes components vertically
// according to its preferred heights and sizes components
// horizontally according to its percentage constraints
r.setLayout(new lay.PercentLayout("horizontal", 2, false));
// add button that takes 20% of horizontal space
r.add(20, new ui.Button("20%"));
// add button that takes 30% of horizontal space
r.add(30, new ui.Button("30%"));
// add button that takes 50% of horizontal space
r.add(50, new ui.Button("50%"));
});
Vertically ordered percent layout manager with preferred components widths
| Percent layout |
zebkit.require("ui","layout",function(ui, lay) {
var r = new ui.zCanvas("percentLayout3", 400,200).root;
r.setBorder("plain");
// set percent layout manager that sizes components horizontally
// according to its preferred widths and sizes components
// vertically according to its percentage constraints
r.setLayout(new lay.PercentLayout("vertical", 2, false));
// add button that takes 20% of vertical space
r.add(20, new ui.Button("20%"));
// add button that takes 30% of vertical space
r.add(30, new ui.Button("30%"));
// add button that takes 50% of vertical space
r.add(50, new ui.Button("50%"));
});
Vertically ordered percent layout manager with stretched horizontally components
| Percent layout |
zebkit.require("ui","layout",function(ui, lay) {
var r = new ui.zCanvas("percentLayout4", 400,200).root;
r.setBorder("plain");
// set percent layout manager that stretches components
// horizontally and sizes components vertically according
// to its percentage constraints
r.setLayout(new lay.PercentLayout("vertical", 2, true));
// add button that takes 20% of vertical space
r.add(20, new ui.Button("20%"));
// add button that takes 30% of vertical space
r.add(30, new ui.Button("30%"));
// add button that takes 50% of vertical space
r.add(50, new ui.Button("50%"));
});
Flow layout provides many possibilities to align children components.
Vertically ordered UI components are centered horizontally and vertically:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout1", 400, 200).root;
r.setBorder("plain");
// set flow layout with vertical components ordering and center
// vertical and horizontal alignments
r.setFlowLayout("center","center","vertical",2);
// add children components
r.add(new ui.Button("VCentered"));
r.add(new ui.Button("VCentered"));
r.add(new ui.Button("VCentered"));
});
Vertically ordered UI components are aligned top-left:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout2", 400,200).root;
r.setBorder("plain");
// set flow layout with vertical components
// ordering, top-left alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("left","top","vertical", 2);
// add children components
r.add(new ui.Button("Left-Top-Ver"));
r.add(new ui.Button("Left-Top-Ver"));
r.add(new ui.Button("Left-Top-Ver"));
});
Vertically ordered UI components are aligned top-right:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout3", 400,200).root;
r.setBorder("plain");
// set flow layout with vertical components
// ordering, top-right alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("right","top","vertical", 2));
// add children components
r.add(new ui.Button("Right-Top-Ver"));
r.add(new ui.Button("Right-Top-Ver"));
r.add(new ui.Button("Right-Top-Ver"));
});
Vertically ordered UI components are aligned bottom-right:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout4", 200,200).root;
r.setBorder("plain");
// set flow layout with vertical components
// ordering, bottom-right alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("right","bottom", "vertical", 2);
// add children components
r.add(new ui.Button("Right-Bottom-Ver"));
r.add(new ui.Button("Right-Bottom-Ver"));
r.add(new ui.Button("Right-Bottom-Ver"));
});
Horizontally ordered UI components are centered vertically and horizontally:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout5", 600,120).root;
r.setBorder("plain");
// set flow layout with horizontal components
// ordering, center-center alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("center","center","horizontal", 2);
// add children components
r.add(new ui.Button("HCentered"));
r.add(new ui.Button("HCentered"));
r.add(new ui.Button("HCentered"));
});
Horizontally ordered UI components are aligned center-left:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout6", 600,120).root;
r.setBorder("plain");
// set flow layout with horizontal components
// ordering, center-left alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("left","center","horizontal",2);
// add children components
r.add(new ui.Button("Left-Center-Hor"));
r.add(new ui.Button("Left-Center-Hor"));
r.add(new ui.Button("Left-Center-Hor"));
});
Horizontally ordered UI components are aligned center-right:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout7", 600,120).root;
r.setBorder("plain");
// set flow layout with horizontal components
// ordering, center-right alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("right","center","horizontal", 2);
// add children components
r.add(new ui.Button("Right-Center-Hor"));
r.add(new ui.Button("Right-Center-Hor"));
r.add(new ui.Button("Right-Center-Hor"));
});
Horizontally ordered UI components are aligned top-right:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout8", 600,120).root;
r.setBorder("plain");
// set flow layout with horizontal components
// ordering, top-right alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("right","top","horizontal", 2));
// add children components
r.add(new ui.Button("Right-Top-Hor"));
r.add(new ui.Button("Right-Top-Hor"));
r.add(new ui.Button("Right-Top-Hor"));
});
Horizontally ordered UI components are aligned top-left:
| Flow layout |
zebkit.require("ui", function(ui) {
var r = new ui.zCanvas("flowLayout9", 600,120).root;
r.setBorder("plain");
// set flow layout with horizontal components
// ordering, top-left alignment and 2 pixels
// gap between inserted components
r.setFlowLayout("left","top","horizontal",2);
// add children components
r.add(new ui.Button("Left-Top-Hor"));
r.add(new ui.Button("Left-Top-Hor"));
r.add(new ui.Button("Left-Top-Hor"));
});
Raster layout manager is default Zebra component layout manager. It emulates the standard approach where locations and sizes are precisely specified by calling “setLocation(x,y)”, “setSize(w,h)” or “setBounds(x,y,w,h)” methods. It is strongly recommended to avoid using raster layout manager the way developers define exact values for a component location and size. Rules are better in respect of implementing adaptive UI that doesn’t depend on screen resolutions, font metrics, allocated for an UI application size and so on.
Hardcoded, user defined components locations and sizes:
| Raster layout |
Raster layout manager also can be less dependent from an environment an UI application can be run:
Size components to its referred size:
| Raster layout |
Size components to its preferred size and align its:
| Raster layout |
List layout manager orders children component vertically as a list of items.
Children components are stretched horizontally to occupy whole parent container width:
| Raster layout |
Children components are centered horizontally:
| List layout |
Children components are aligned left:
| List layout |
Grid layout manager splits a component area to number of virtual cells. Children components are placed into the cells. One cell can be occupied only by one children component. Using “zebkit.layout.Constraints” class developers can control how a children component has to be placed inside the virtual cell. “zebra.layout.Constraints” declares the following fields that declares how a component has to be placed inside a virtual cell:
| Field | Allowed values | Description |
|---|---|---|
| ax |
"left" "right" "center" "stretch" | Horizontal alignment in cell |
| ay |
"top" "bottom" "center" "stretch" | Vertical alignment in cell |
|
top,left, bottom,right | integer value >= 0 | Cell top, left, bottom and right paddings |
The picture below explains how a component can be aligned inside a virtual cell controlled by grid layout manager:
Default grid layout manager constraints
| List layout |
1. Custom grid layout manager constraints
| List layout |
2. Custom grid layout manager constraints
| List layout |
All zebra layout managers are hosted in “zebra.layout” package. The package provides the core “zebra.layout.Layoutable” class. This class describes a rectangular object that is bound with the given size and location. “zebra.layout.Layoutable” component can contain other layoutable components as its children. The children components are laid outed with a layout manager. Pay attention “zebra.layout” package is completely independent from UI part. Developer can easily use it as basis for layout management, for instance, for WEB based elements. Zebra UI engine just extends the basic “zebra.layout.Layoutable” class with visual and event related stuff.
The package provides number of useful API methods that can be handy to manipulate with component hierarchy:
| API method | Description |
|---|---|
| zebra.layout.getDirectChild(p,k) | get immediate kid for the given parent and children component |
| zebra.layout.getDirectAt(x,y,p) | get immediate kid located at the given location of the specified parent component |
Also it declares number of constants that from time to time have to be used as a layout constraints: [wpcol_2third] [table] Constraints;Description “left”; left constraint or alignment “right”; right constraint or alignment “top”; top constraint or alignment zebra.layout.BOTTOM; bottom constraint or alignment “center”; center constraint or alignment “horizontal”; horizontal constraint or alignment “vertical”; vertical constraint or alignment zebra.layout.STRETCH; stretch constraint zebra.layout.USE_PS_SIZE; use preferred size zebra.layout.TLEFT; top left constraint or alignment zebra.layout.TRIGHT; top right constraint or alignment zebra.layout.BLEFT; bottom left constraint or alignment zebra.layout.BRIGHT; bottom right constraint or alignment [/table][/wpcol_2third][wpcol_1third_end] [/wpcol_1third_end]


Portland is the biggest city in oregon. It was named after Portland, Maine.
It started to become populated in the 1830s and is home to the Portland Timbers (soccer team)
and also the Portland Trailblazers (basketball team). more than 500,000 live in Portland, Oregon.
Portland is a beautiful city with many things to do and many things to look at.
| Key Event | Date |
|---|---|
| Portland was founded | 1845 |
| Zoo opens | 1887 |
| Trailblazers win NBA title | 1977 |


Noble
A li'l game engine for Playdate.
Functions
- new(StartingScene[, __transitionDuration[, __transitionType=Noble.Transition.CROSS_DISSOLVE[, __enableDebugBonkChecking=false]]])
-
Engine initialization. Run this once in your main.lua file to begin your game.
Parameters
- StartingScene
NobleScene
This is the scene your game begins with, such as a title screen, loading screen, splash screen, etc. Pass the scene's class, not an instance of the scene. - __transitionDuration
number
(optional)
If you want to transition from the final frame of your launch image sequence, enter a duration in seconds here. - __transitionType
Noble.TransitionType
= Noble.Transition.CROSS_DISSOLVE (default)
If a transition duration is set, use this transition type. - __enableDebugBonkChecking
bool
= false (default)
Noble Engine-specific errors are called "bonks." Set this to true during development to check for more of them. It is resource intensive, so turn it off for release.
See
- StartingScene
NobleScene
- engineInitialized()
-
This checks to see if Noble.new has been run. It is used internally to ward off bonks.
Returns
-
bool
See
- transition(NewScene[, __duration=1[, __transitionType=Noble.TransitionType.DIP_TO_BLACK[, __holdDuration=0.2]]])
-
Transition to a new scene. This method will create a new scene, mark the previous one for garbage collection, and animate between them.
Parameters
- NewScene
NobleScene
The scene to transition to. Pass the scene's class, not an instance of the scene. You always transition from Noble.currentScene - __duration
number
= 1 (default)
The length of the transition, in seconds. - __transitionType
Noble.TransitionType
= Noble.TransitionType.DIP_TO_BLACK (default)
If a transition duration is set, use this transition type. - __holdDuration
number
= 0.2 (default)
ForDIP
transitions, the time spent holding at the transition midpoint. Does not increase the total transition duration, but is taken from it. So, don't make it longer than the transition duration.
See
- NewScene
NobleScene
- currentScene()
-
Get the current scene object
Returns
- currentSceneName()
-
Get the name of the current scene
Returns
-
string


Overview • Object concept ↑ | ↓ • Substructure addressing
[structure](chain){coordinate set}residue.atom:location
Parts of the address may be missing, as specified in Defaults. A slightly modified format is used for addressing secondary structure elements and domains.
[2BHW](B)123.CA
addresses the C
[2CUU]131.N1:B
addresses location B of the nitroxide N atom (atom identifier: N1) of residue 131 (R1A, a cystein labeled by MTSL) in the structure with PDB identifier 2CUU (spin-labeled T4 lysozyme)
*
addresses all currently selected objects.!
addresses the current structure, shown in the title of the main window.#
character addresses the current chain, shown in the title of the main window.
Surface objects, such as densities or solvent accessible surfaces and also sets of motion arrows have addresses that start with a dollar sign $
, followed by a type identifier, and a tag that is unique for the given type (format: $type:tag
), where type is density
for density objects, SAS
for solvent accessible surfaces, and motion
for sets of motion arrows.
$SAS:SAS_1
addresses the solvent accessible surface with tag "SAS_1".
Surface and motion arrow addresses cannot be used in all places where addresses of structure objects can be used. They are supported only by the show, hide, color, transparency, and delete commands.
:
(colon) to address all residues in a chain
123
addresses residue 123 of the current chain in the current structure
(C):.CA
addresses all C
Several structures, chains, coordinate sets, residues, atoms, or locations can be addressed at once by replacing identifiers with comma-separated lists.
[2BHW](A,C)96.CB
addresses the C
[2BHW](A,C)96,123.CA,CB
Such list addressing accepts that certain combinations may not exist. For instance, if residue 123 were a glycine, its C
A continuous range of residues can be addressed by using a hyphen.
[2BHW](A)96-123.CA
addresses the C
Note that addressing a large number of objects via a combination of list tags can lead to noticeable computation times for address resolution.
Residues and cofactors can be addressed by their PDB residue types, enclosed in double quotation marks. This can be combined with list addressing by a comma-separated list. MMM accepts common nomenclature "Xaa" for any natural amino acid residue (thus excluding modified amino acids and cofactors), "Asx" to abbreviate "Asn","Asp" and "Glx" to abbreviate "Gln","Glu".
[2CUU]"R1A".N1,O1
addresses the nitroxide group nitrogen and oxygen atoms of all residues R1A (cystein labeled by MTSL) in the structure with PDB identifier 2CUU.
[2BHW]"CHL","CLA"
addresses all chlorophyll a and b molecules in all chains of the structure with PDB identifier [2BHW].
Atoms can be addressed by element.
."Fe"
addresses all iron atoms in the current chain of the current structure.
Alternate loctions are often specified for only a few atoms in a structure, chain, or residue. To address all atoms (using the single location of those atoms that do not have alternate locations), use the address format given above.
[2CUU]"R1A".B
addresses all residues with type R1A in structure 2CUU, selecting location B for all those atoms which do have alternate locations.
If you want to inspect only atoms with alternate locations, use an exclamation mark !
to enforce location addressing.
[2CUU]"R1A","ASN".:B!
addresses only atoms with alternate locations, and of those only location B, for residues of types R1A and ASN in structure 2CUU
For convenience, MMM allows to define synonyms for structure and chain identifiers. For instance, after defining the synonym LHCIIb for structure 2BHW using a command, [LHCIIb](A)123.CA
addresses the C
Usually, such synonyms will be the established names of the proteins or protein complexes, however, the user is completely free in the choice of synonym.


Final Programming Project
Lennert's Programming Project
Name: Lennert Jansen
Student number: 10488952
Ayyeeeee


500 visitors from 60 countries visit historic Jeddah
MUSCAT: Saudi Arabia’s Deputy Defense Minister Prince Khalid bin Salman who is in Oman on an official visit met Sultan Qaboos bin Said on Monday. He conveyed King Salman’s greetings to Sultan Qaboos.
Earlier, on his arrival in Muscat, the Saudi deputy defense minister was received by Sayyid Badr bin Saud bin Hareb Al-Busaidi, minister responsible for defense affairs in the Sultanate of Oman, Chief of Staff of the Sultan’s Armed Forces Lt. Gen. Ahmed bin Harith Al-Nabhani and other officials. Prince Khalid will meet top officials and discuss bilateral ties. They will review issues of common concern and matters related to the security and stability of the region.


Brian Bier
Greater New York City Area
646.548.4363
<EMAIL_ADDRESS>Got a site that needs help? CALL ME TODAY


Review Your Order & Complete Checkout
Add More Products
Help us keep your account safe and secure, please verify your billing information.
By submiting this order you are agreeing to our universal billing agreement, and terms of service. If you have any questions about our products or services please contact us before placing this order.


QNetworkAccessManager Class Reference
Inherits QObject.
Constructor
- void QNetworkAccessManager(QObject parent)
Constructor Properties
- prototype: The QNetworkAccessManager prototype object
- UnknownOperation = 0
- HeadOperation = 1
- GetOperation
- PutOperation
- PostOperation
- DeleteOperation
- CustomOperation
- Operation( value )
- UnknownAccessibility = -1
- NotAccessible = 0
- Accessible = 1
- NetworkAccessibility( value )
Prototype Object Properties
The QNetworkAccessManager prototype object inherits properties from the QObject prototype object and also has the following properties.
- QAbstractNetworkCache cache()
- void clearAccessCache()
- void connectToHost(String hostName, unsigned short port)
- void connectToHostEncrypted(String hostName, unsigned short port, QSslConfiguration sslConfiguration)
- QNetworkCookieJar cookieJar()
- QNetworkReply deleteResource(QNetworkRequest request)
- QNetworkReply get(QNetworkRequest request)
- QNetworkReply head(QNetworkRequest request)
- QNetworkReply post(QNetworkRequest request, QIODevice data)
- QNetworkProxy proxy()
- QNetworkProxyFactory proxyFactory()
- QNetworkReply put(QNetworkRequest request, QIODevice data)
- QNetworkReply sendCustomRequest(QNetworkRequest request, QByteArray verb, QIODevice data)
- void setCache(QAbstractNetworkCache cache)
- void setCookieJar(QNetworkCookieJar cookieJar)
- void setProxy(QNetworkProxy proxy)
- void setProxyFactory(QNetworkProxyFactory factory)
- List supportedSchemes()
Instance Properties
QNetworkAccessManager objects inherit properties from the QNetworkAccessManager prototype object and also have the following properties.


PownceFS 2008/03/22
The magical code push finally happened! Time to send PownceFS into the Internet. PownceFS is a Fuse filesystem that mounts your friends' files from Pownce as a local filesystem. Given a mountpoint, it fakes a directory for each of your friends and puts all the files they've uploaded inside. Files are cached locally for a while so you can repeatedly access things without spending your life waiting on yet another API call.

On Linux it's simply a matter of installing Fuse, python-fuse and the Python OAuth library.
$ sudo apt-get install python-fuse $ cd /usr/lib/python2.5/site-packages/ $ sudo svn co http://oauth.googlecode.com/svn/code/python/oauth
On a Mac I think it's pretty easy but my Python's wonky. Methinks the dependencies work themselves out — can someone verify?
$ sudo port install fuse-bindings-python $ cd <wherever the hell Python is> $ sudo svn co http://oauth.googlecode.com/svn/code/python/oauth
powncefs-0.1.tar.bz2 or http://svn.rcrowley.org/svn/powncefs/ PownceFS on GitHub
Nerd out with me
The "architecture" (if you can really call something with 2 files an architecture) goes something like this: when you run the script a PownceFS
object is created. The first thing it does is authenticate with Pownce and pull down your friends list to create it's directory structure. Whenever necessary it makes an additional API call to Pownce to fetch the list of files for a particular user (say, if you ls
their directory). API calls and files are cached for 45 minutes (safely under the one hour TTL of the S3 URLs returned by the API).
The root of the filesystem is a PownceFS.Base
object that contains a dictionary of usernames to PownceFS.User
objects. Each PownceFS.User
contains a dictionary of filenames to PownceFS.File
objects (look, Ma, inheritance!).
The main PownceFS
object implements system call equivalents like getattr
and readdir
but defers the thinking to the tree of PownceFS.Base
and friends. Each of those objects has a getattr
function handling all of the filesystem bookkeeping, get
and put
methods for manipulating children and a fetch
method for performing any API calls that need to happen. PownceFS.File
s have an additional read
method that reads the locally-cached copy of its file.
The point of that long-winded explanation is that the "architecture" is useful for absolutely any web service that might be a useful filesystem. The api.py file handles all of the OAuth-y stuff and leaves powncefs.py fairly generic. Hack!
Again, http://svn.rcrowley.org/svn/powncefs/ PownceFS on GitHub.
Future plans
The most obvious enhancement is to allow file uploads, which I'm planning on adding soon. Otherwise I need to find a few minutes to loop the API calls to return more than 100 files for those Power Users. Details, details.
Comments (27)
Neat addition.
So if you make a nice GUI version of this, is it similar to the DropBox concept? (http://www.getdropbox.com/). Because that could be pretty lucrative for Pownce.
Unfortunately command line fun won't capture the masses.
— Dimitry — 2008/03/22 1:20 pm
The beauty is that I wouldn't have to "make a nice GUI," because it'd just work. Right now it's like a read-only folder in Finder. Soon it'll be a read-write folder in Finder.
— Richard Crowley — 2008/03/22 1:56 pm
Now if only I could get it to work in OS X :(
Damn fink.
— Mike Malone — 2008/03/22 11:17 pm
Plus++.
This is rad .. I love how the "REST is like a filesystem" connection is starting to sprout legs.
— Michal Migurski — 2008/03/22 11:18 pm
[... PownceFS, the Pownce File System. Per-buddy subdirectories containing their uploaded files. [...]
— Hendrik Mans » PownceFS — 2008/03/23 3:22 am
[... PownceFS — Richard Crowley’s blog Richard pownceFS mountolasa (tags: fuse pownce api python web programming social macfuse richardcrowley filesystem) [...]
— links for 2008-03-23@kobak pont org — 2008/03/23 2:19 pm
[... Richard Crowley’s blog. I found there three cool hacks, specially the last two. The first is PownceFS and implementation of your Pownce friends archives as a filesystem. Systems like this and like [...]
— Alcides Fonseca - Geekish Links — 2008/03/23 3:35 pm
[... PownceFS Uses FUSE to set up a directory with all the files your friends have uploaded on Pownce. Nifty. Also OAuth, which is showing up all over these days. (tags: fuse oauth pownce python) [...]
— links for 2008-03-24 | SOCIALMOB — 2008/03/23 4:35 pm
I might have to cave in and try this Pownce thing.. this looks sexy. Does this mean I can have easier access to your porn stash?
— Mike Panchenko — 2008/03/23 8:45 pm
Hey Richard, I gave installing PownceFS on a fairly clean 10.5 setup and documented it on my blog. I was able to get past the MacPorts problems (there were problems first w/ my having a prior MacFUSE installation, then w/ libfuse's lack of CF linking) and got far enough to get past any fatal errors, but haven't been able to actually list or read files.
— leonard — 2008/03/24 1:38 am
[... PownceFS (Richard Crowley) [...]
— Dew Drop - March 22, 2008 | Alvin Ashcraft's Morning Dew — 2008/03/24 4:08 am
[... (Source: PownceFS — Richard Crowley’s blog) [...]
— PownceFS by Richard Crowley | Hi, I’m Colin Devroe. — 2008/03/24 5:36 am
That is way too rad. I have this working in ubuntu, I'll have to try OS X when I get home.
— K. Adam Christensen — 2008/03/24 9:19 am
Err, just to note you also need python-json installed
— Xipietotec — 2008/03/24 5:33 pm
Richard, this is awesome. I so want this but I'm not quite there yet. Blame it on my linux ignorance..
I'm using Ubuntu gutsy. I'm sooo close.
I added svn, python-fuse and python-json.
Now I got a permission error. I tried using sudo and got it to run on /mnt withtout the permission error. Now that folder is kind of screwed. I've been using Linux for a while, but this mountpoint stuff is throwing me off.
Here's a sample. Any ubuntu folks have comments?
mrjabba@ionia:~/dev/python/powncefs/trunk$ sudo python ./powncefs.py /mnt fuse: mountpoint is not empty fuse: if you are sure this is safe, use the 'nonempty' mount option Traceback (most recent call last): File "./powncefs.py", line 324, in main() File "./powncefs.py", line 321, in main fs.main() File "./powncefs.py", line 275, in main return Fuse.main(self, *a, **kw) File "/usr/lib/python2.5/site-packages/fuse.py", line 713, in main main(**d) fuse.FuseError: filesystem initialization failed mrjabba@ionia:~/dev/python/powncefs/trunk$
I'll blog this and work on it in time :-) Also, I'm kind of new to Python as well.
K
— Kevin H — 2008/03/25 4:38 pm
@Kevin: may I suggest getting rid of that slash in front of mnt? In Richard's example, he's in a folder just off his home directory called ~/powncefs. He then mounts the Fuse filesystem into a directory called mnt, so it is located at ~/powncefs/mnt. What you're doing is trying to put it in /mnt , which isn't a good idea. If you put it in something like /mnt/powncefs, that might be acceptable, but still not a good idea.
— David Hall — 2008/03/25 5:40 pm
Also, I should note that powncefs has the +x bit when it's checked out, so you don't need that python, and when you put it in a directory you control instead of one that is owned by root, you don't need to do sudo. And you don't need to be sudo to look at it in things like your file browser. Just don't put it in /mnt is essentially what all that means...
— David Hall — 2008/03/25 5:43 pm
What DHall said.
— Richard Crowley — 2008/03/25 7:49 pm
Um add a "Comments" link to the bottom of your posts. I'm far too lazy to scroll back up to the top of the page to click on the title - and you know this!
— Mike Panchenko — 2008/03/26 6:30 am
Thanks for the help guys. I obviously misread the docs the 1st time. So, you're just creating a folder. I thought "mnt" was significant.
OK. Got it. However, I had to modify my permissions on fuse and fusermount. I followed the advice on the FUSE FAQ: http://fuse.sourceforge.net/wiki/index.php/FAQ
I ran it again and it worked. My friend's folders show up now. Wow. This is so cool.
Thanks SO much!
Kevin
— Kevin H — 2008/03/27 5:03 pm
I managed to run powncefs and mount properly.
but...
ls: cannot open directory . Invalid argument
Is the error I get when trying to enter the mounted directory. Why is that?
— some dude — 2008/04/03 7:34 am
[... pownce, powncefs, python Well, the first version of PownceFS didn’t turn out as well as I had hoped. After I put it out in the world, Leonard ran with it [...]
— PownceFS, round two — Richard Crowley’s blog — 2008/06/04 10:03 pm
[... PownceFS - Fuse filesystem for Pownce files. [...]
— Where I Can Get Desktop Client Of Pownce.com? « TECH IDEA — 2008/06/07 4:22 am


{% extends 'base.html' %} {% block content %} {% load staticfiles %}
Oops! There was an internal server error. Refresh the page, try back again later or shoot us an email to let us know.


--- layout: panoramio title: Google Maps Panoramio Demo description: Add geo-tagged image search, places search to a map. image: /img/embed/panoramio.png ---
Example of map with three ways to discover content. Search by location (try Empire State Building) or type of location (try indian restaurant) to see icons on map. Zoom out to see photos geo-tagged to the location. Then filter photos by tag (try building). Click on a photo to see details.


PERSONAL CODE BANK
SIGN IN
SIGN UP
Email address
Password
First Name
Last Name
Email address
Password


ANALYSIS
Demo
DashAloha Admin Platform
trending_up
Market Audience Growth
Communities (3)
arrow_drop_down
Waipahu Mauraders
Leeward Pirates
UH MANOA Warriors
Analysis
Sustainable Development Goals
Features
menu
Volunteering Community Hours
Community Followers
Afforodable/Clean Energy Statistics
Good Wealth and Well Being Statistics


--- layout: post title: "morning lyrics" comments: true ---
I send you flowers Cut flowers for your hall I know your garden's full But is there sweetness at all?


Development of an ontology architecture to ensure semantic interoperability between communication standards in healthcare Appendix with additional explanations |
| Home -> Frank -> My Thesis |
|
|
2. Detailed Insights2.1. HL7 Version 2.x - Detailed InsightThe first version of HL7 (version 1.0) was established in 1987 by agreement of several companies, to perform information exchange in a "standardized", ASTM-derived format. This approach quite quickly lead to the second Version, which was adopted 1990th. The latter was and is the basis for the family "HL7 version 2.x", which is being developed in parallel to version 3. Currently (August 2010) version 2.7 is adopted and v2.8 is under preparation with new proposals. Further versions can be expected during the next few years. Basis of this pragmatic approach using the "delimitered" exchange format for messages is to save space. At the beginning of the development work, the length of a message for the transfer was still quite debatable. The default encoding (ER7) with the use of six hierarchically oriented separators allows the construction of structured messages. Basically, a two-dimensional approach for sharing the information content is used:
The most significant delimiter (CR = carriage return) is separating the individual segments and thus provides the segment-oriented message structure to be able to express coherent message units. Herewith one can decide on "top level" whether an information unit (segment or segment group) can be processed or not. But the message structure must be known therefore. Conversely, within the appropriate hierarchy structure it can be identified this way, so that it can be decided directly whether processing of the segment or segment group is possible or not. Within a segment which is identified by an acronym of three letters (for example, PID = Patient IDentification), the fields carry the actual information. Once a segment is to be processed, the decoding takes place in the second dimension. Here, the individual information is extracted about 5 other delimiters. The following is an example of an admission message: MSH|^~\&|MEDOS|RAD|SAP-ISH||20030120116412002||ADT^A01|1325-1|P|2.5|||||DEU|8859/1|DEU EVN|A01|20030120164122|20030120140000 PID|||5432^^^KIS||Mustermann^Gabriele^^^^^L~Maier^Gabriele^^^^^B||19751017|F||| Vogelweg 8&Vogelweg&8^^Hamburg-Harburg^^10260^DEU^H~ ^^Bochum^^^DEU^N||^PRN^PH^^49^40^3542557~^PRN^FX^^49^40^3542558| ^WPN^PH^^49^40^5557865||M|CAT||||||Maria-Hilf Krh.|||DEU|Pyrotechniker|DEU NK1|1|Mustermann^Gerd|FTH|||||||||||M|M|19470521|||DEU|DEU|||||CAT NK1|2|Mustermann^Helga|MTH|||||||||||M|F|19490630|||DEU|DEU|||||CAT|Maier PV1|1|I|IN2^4^3^CHI^^^^6||||||||||||||||0345632^^^^VN^KIS^20030120||||||||||||||||||||||||| 20030120 PV2|||||||||20030402 OBX|2|NM|3141.9^Koerpergewicht^LN||85|kg|||||F|||20030120 DG1|1||E11.5^...^I10-20|||BD|||||||||1.1 DG1|2||I79.2^...^I10-20|||BD|||||||||1.2 DG1|3||S42.41 R^...^I10-20|||BD|||||||||2.1 DG1|4||V99^...^I10-20|||BD|||||||||2.2 IN1|1||0463752^^NII~32453^^NIIP|Techniker Krankenkasse|||||||| 200006|200606||1|Mustermann^Gabriele^^^^^L||19750714| Vogelweg 8^^Hamburg-Harburg^^10260^DEU^H||||| 000000||000000|||||||||||||||||||||||1407750120^^^^^^^200006 IN2|||||I ZBE|615^MEDOS|20030120140000||INSERT Figure 2: Example HL7 v2.x message Further structuring of the message content within the message structure is defined by the data types: 2.1.1. Data TypesThe data types define the division of the fields into their components. The first version out of the v2.x family had only one simple and generic compound data type ("CM"). In the course of the development the model for the data types have been further refined. In version 2.6 there are already over 90 different data types. Unlike programming languages, data types are defined in HL7 over its content. Examples:
Due to the number of delimiters data types can not be structured as desired, but are limited to two levels. (The length of the field is the sum of the components plus the delimiters). Following the example of people's names is given, the two data types "FN" and "DR" are dissolved as a data type. For further details, please refer to [HL7]: Table 1: HL7 data type specification (nesting resolved)
About the so-called component model, which was officially introduced with version 2.5, the textual assignments which could previously only described verbally (especially the tables, the lengths and optionalities) could be made explicit. The HL7 database included since the beginning of its existence a component model and introduced data types to describe any structure or component uniquely. To ensure compatibility with the original standard a mapping to the imprecise specifications was introduced. 2.1.2. EventsEvents in the real world - for example, the admission of a patient or the creation of a new order - are the trigger to submit the relevant information to a communication partner. Depending on the scenario other data is necessary which is represented in the form of spcialised compositions of different segment (i.e. segment groups). Originally (HL7 v2.1) one assumed to do it by the type of the message, i.e. the type of message should provide sufficient information to determine the content of the message. Details of the events were then deployed in a particular field in a subsequent segment. In ADT this was EVN-1, and ORC-1 for ORM messages. In the course of the evolution, the messages got more comprehensive and could not be built identically for all events of the same message type. For this reason, the event field was shifted into the message header. Unfortunately, the various working groups (TCs/SIGs) have implemented the situation differently. The ADT (patient administration) domain has developed many similar messages (actually three basic structures with many events), OO (Orders & Observations) has remained with ORM in a very small set of message structures, but has developed many "Subevents" in the form of "Order Control Code" (ORC-1). The introduction of an identifier (ID) for the message structure ("Message Structure Identifier") should resolve this shortcoming. Initially, all messages were therefore compared with the help of the database to determine such an ID. Since not all messages could be simply and clearly parsed by a parser due to their internal structure (several different messages with the same event), this ID should also be consulted to support the parsing processes. Since the standard itself is not developed based on a database [SchoOem2001], it is unfortunately often the case that not all messages with the same structure (and ID) are changed similarly, so that different structures with the same ID are presented in the ballot process. In addition, a cleanup of the documentation can not be performed because of objections by members, because they insist on a backward compatibility. This leads to duplication in the definition, which in turn complicate a consistent definition, if not prevent it. As a remedy, there remains only the systematic collection and review of appeals during the ballot phase (see "The HL7 database" on the website). 2.1.3. dynamic behaviourIn addition to the previously described definition of a static message structure, there is still a dynamic behavior. The message header provides some relevant information thereof:
The condition of the acknowledgment requirement for transport and processing determines, whether a receipt should be sent and under what conditions. (If nothing is specified, the default is the default behavior is to send an application acknowledgement.) In return, an application may already expect 0, 1 or 2 response to a each message sent. In case of "broadcast" messages such as ADT, this must be multiplied by the number of recipients. This raises the problem to be solved individually, how to deal with different responses from the individual applications, for example, what to do if 2 of 8 applications refuse to process a transfer of a patient? The currently implemented default behavior is the transmission of a transport acknowledgment, which is however not really evaluated. It only serves to fulfill the requirement to send an ack. This behaviour is again due to the wrong synchronous processing logic which is often implemented incorrectly. HL7 does not make any statements for such a behavior. Strictly speaking, several messages can be sent before a single response may occur - if a response is requested at all. A response message references the original message by the message ID. This ID can be of any kind, but it must be a unique string. To correctly assign/identiy errors and to correct them, an application must run a log book for all messages. Most do not, so that a consistent error monitoring in order to deliver a pro-active prevention of errors is not possible. Another problem associated with the dynamic behavior is to forward the messages to the recipient or recipients. The HL7 standard itself does not state how the messages are to be distributed, that is, whether the application itself is responsible or not. A communication server can be entrusted with the distribution. In return, he guarantees the transfer and directly provides a transport ack. Hence, the question arises how different application acks (see above) should be handled, if e.g. one of four target systems do not process the message? Ultimately, only manual intervention will solve this problem given the administrator gets an information about it. 2.1.4. Delete RequestsThe 2.x version has only three "types of information" (see [IHE Vol.0]):
The first two are relatively easy to understand: values for a field are usually sent when they are available then. Otherwise, this field stays empty/blank. In the event that information is deleted in an application, it is envisaged this to be indicated by a special sequence. Therefore the double quotes ("") are provided. The implementation of this behavior requires that an application recognizes and remembers that information was deleted [IHE Vol.0]. In most applications, the information will not be historicized, so that the interface can not recognize that information is no longer available. Therefore simply "no information" is transferred, leaving the target system with the old information until a new value is transmitted. Difficulties arise when a receiver processes information from different channels, because then the sequence plays an important role. Without forwarding the information to all involved a consistency can not be guaranteed. 2.1.5. Null-FlavorsIn contrast to deletion requests HL7 version 2.x does not currently distinguish why a piece of information is not available. Since the first version an approach was made based on the table values. Thus this problem was addressed only in certain cases (tables) and in an inconsitent way. Considerations for a generic approach will be discussed with proposal 608 [HL7 V2 Prop.DB] for v2.8. But, the backward compatibility with previous versions raises issues to be analyzed in more detail. 2.1.6. Transmission ProtocolsAs mentioned already ASTM [ASTM] was the basis for the work. On the one hand, improvements were introduced, such as segment names consisting of just three letters. On the other they "forgot" to define a message end ("Message trailer") segment, which leads to problems with certain communication protocols: A batch protocol to combine multiple messages into a transmission unit exists, but for pragmatic reasons (additional development) this is not supported by any company. For a file based transmission the messages are simply written subsequently into this file. When transferring a file, this requires additional safeguards (semaphore files, locking, or renaming) to ensure completeness of the messages. The easiest and most reliable mechanism here is renaming, because this process is supported at the file level by all operating systems as an atomic action. For unexplained reasons, however, semaphore files are preferred to solve the problem, although one has to handle two files. In addition, with VPN and D2D [D2D] which are only in use in Germany other alternatives exists. 2.1.7. ProfilesThe standard itself is the union of all the requirements of all manufacturers/vendors involved in the development of standards. Because such requirements can not be declared as mandatory, many elements are optional, i.e. they need not be provided. This approach allows a broad acceptance of standards, but this in turn also leads to the fact that different manufacturers provide different data so that data exchange is limited despite adherence to the same standard. To resolve this dilemma, message profiles are introduced. There are three different levels:
The top level represents the standard itself, i.e. it has the biggest amount of optionalities. For a "constrainable profile" optionalities are somewhat limited already. However, some choices still exist which are eliminated with "implementable profiles". For each information item a statement must be provided whether it is supported or not. The standard clearly defines, what can be done with the various optionalities to come to an "implementable profile": Table 2: "HL7 Optionality and Conformance Usage"
In an implementable message profile, ultimately only two possibilities are allowed: Either a specific element is supported (= "R / RE") or not (= "X"). This results in the subsequent conversion chart. The only special feature presented here represent the elements that play a role in those conditions. But again, for an implementable profile an exact statement requested [OemBlo2007b]:
As of version 2.7 "RE" will also be allowed / used in the standard. 2.2. HL7 Version 3 - Detailed InsightAn entirely different approach is established for "new" HL7 Version 3: in 1995 the first attempt was made to create a globally valid model for healthcare. After three years of work one had to admit that such a model if at all is hard to define because the requirements of the different domains and different countries do not permit a harmonization. Instead, they came to a metamodel, called (= RIM Reference Information Model) [HL7 RIM]. One can regard it as a toolbox, the elements of which can be used for the construction of domain models. This RIM itself only consist of four base classes and two more classes for relationships. (A good explanation of how to read it can be found next to the Guide V2 also in [Hinch]):
The entire reference model (herein after RIM 0208) includes the base classes and their specializations, in a print-optimized version:
In addition there are special classes that are necessary for the generation of messages, management of queries, languages and overall control. They are not relevant for further consideration in this work:
These six basic classes (Figure 5) consist of four base classes and two relationship classes: An entity is the representation of physical, persistent objects. Beside persons, materials and equipment also organizations and places belongs here. An entity expresses a static thing. A role (role) expresses the ability that an entity has. For example, a person may play the role of patient. A participation describes the incorporation of an entity into a certain role in one act. For example, a person in the role of physician participates in a surgery activity as the executive surgeon. An act the carrier for all information and expresses changes. For example, a finding is an observation and hence an activity. In addtion to these four base classes two classes are provided in order to realize relationships: A role link is a direct relationship in various roles such as employer / employee. However, this is used very rarely. An act relationship combines various activities. For example, the activity of observing is the fulfillment of the activity order. These six base classes can be put together in an instantiation in myriad ways. For example the following construct represents that "person A" participates as a physician in an examination of the patient "person B".
The two link classes below are the direct linkage of roles and activities. For example, here is Mr. Meier employed by the company Kunze.
Similarly, two different activities - for example, the request and the corresponding result - are linked by an act relationship.
Another speciality are the different relationships of roles related to entities. The following graph represents this as indicated by the solid and the dashed line. It is assumed that a role requires a certain context. Thus, a person becomes a patient only in the context of an organization (in this case a hospital).
The different options for creating relationships as shown in the four examples above can be (arbitrarily) combined into more complex structures. Out of these classes (components of the toolbox) so-called domain models are constructed. For this purpose, a module for Microsoft Visio (TM) is added which considers the RIM - the necessary meta-information is stored in an Access database - and can validate the used classes directly:
A domain model is an (abstract) structure of classes that are required for modeling an application domain. This domain model is taken and parts of it are constrained for their use. This leads to a so-called Refined Message Information Model (R-MIM), which serves to implement a particular scenario (use case). Another limitation with regard to a particular message in this scenario, including the associated sequencing for transmission of this information in the form of a message, leads to a Hierarchical Message Definition (HMD). Such a definition can be both displayed in tabular form or an XML schema. Both are the basis for an implementation. The ITS - Implementable Technology Specification - then allows for and ensures the implementation of abstract models in a specific technology such as XML. Apart from these abstract models and their details for an implementation two other areas are important.
The foundations for this are explained in more detail in subsequent sections. 2.2.1. State TransitionsOne reason to send a message is the change of an internal state of an entity or an activity. For this purpose, the generic state transitions that will be implemented in the form of state machines have been defined. In the various scenarios subsets of these generic definition of events are specified and communicated by messages.
The state transitions for activities (see above) are different from those of entities (see below).
2.2.2. Mood-Code A totally different dimension is realized by the so-called mood code. (The technical term is best translated by "mode".) This refers to the use of abstract classes (entities and activities) in different functions. As such, an observation in the "Request" Mood is something different than an observation in the "Event" Mood. The former is the order, the latter the result. Ontologically speaking, this should be represented in different subtrees of the hierarchy. For the automatic generation of the structures this cannot be realized, however. Conversely, these are generally to information objects whose semantics are accessible only through the combination of different attributes. For a mapping this must be taken into account by conditions. 2.2.3. Application RolesAs already explained in the introduction, the messages are exchanged as the interaction between different actors. The trigger for the exchange of messages is either an event or a state change. Sometimes it is not done with the exchange of a single message: several messages together form a specific scenario which can only adequately be represented in a system by considering all associated messages. At this point this is an enhancement over version 2.x, which does have such a construct and therefore specify all messages without any relationship to each other. However, an "application role" is a non-normative construct, i.e. in this case that there is no uniform understanding of the responsibilities in this regard. It is not clear on what basis and what conditions application roles are specified and what should be considered when implementing the static and dynamic behavior. 2.2.4. Data TypesAn essential prerequisite for an exchange of messages is data. These are often presented as a single unit of several individual values that have a common connection - such as an address, which consists of road, zip code and city. Such a conglomeration of individual information is referred to as a data type in programming languages. Quite often they have operations that can be performed on these data types. The data type "integer" for example has the operations "predecessor" and "successor". The semantic properties of these data types is expressed by "invariant statements". These are statements that are valid at any time and for all possible values. (In other areas of information science (computability and logic), such statements are regarded as fix points.) 2.2.5. ITSThis data type specification is defined on an abstract level, independent of a specific implementation. The same applies to domain models. For usage in a practical scenario a specific technology must be selected and mapping rules defined. For HL7 V3 currently only XML and UML are approved as technologies and provided in the form of a so-called ITSs (implementable Technology Specifications). There are also other possible technologies. These include binary XML [XML], ASN.1 [ASN.1] and ER7. The latter requires a revision, because it currently does not allow for arbitrarily deeply nested structures. In March 2010 a new proposal was submitted to further define an XML ITS, which uses the name of the RIM classes directly and not the ones out of the domain model, so as to address the problem of backward compatibility. Thus the proposal of the author, which was presented at the 2009 IHIC is picked up - more or less unconsciously. The same applies to greenCDA. 2.2.6. "Structural Attributes"The classes in the abstract models contain information which is absolutely necessary for a correct interpretation of a specific message instance. The RIM provides for the modeling of domains abstract classes that can then be instantiated accordingly. Since these classes can be used multiple times in different forms, this shall be indicated for the correct understanding. The necessary attributes such as "mood code" and "class code" are therefore called "structural attributes". 2.2.7. "mandatory Values"Closely associated with this structural attribute is the presence of valid values. This means that a replacement of this information with the reasons for the absence of such data ("asked, but no response") are not permitted. This includes the possibility default values as well. However, as some vendors manipulates the XML schemas, default values are very problematic, since they must be known for evaluation. Therefore, for each transmission the associated schema should be communicated in parallel, so that the data volume ("traffic") increases significantly. 2.2.8. "Null-Flavors"A notable difference between version 3 to version 2 is the fact that information about the absence of data is not mixed with the data. So there is no valid "data code" for "unknown". The table below shows an example: Table 3: Coding Example "Administrative Gender"
Hence the applications have the possibility to select from a dozen different reasons for the absence of information on the one hand. On the other, this type of information must be stored in the application in order to be able to communicate this at all. 2.2.9. PublishingAnother point that has been learned from the publication process of version 2 is the way in which to edit the information. Nowadays, there are no longer proprietary formats such as MS-Word in use. The information is stored in databases and XML documents. A distinction must be made between text documents and model-specific information. The former are edited in XML documents obeying to given structures (XML schema). The model-specific information is stored with reference to the respective Artefact code into a set of database tables. The models are referenced by the same Artefact code (as a file name). Based on this information, the documents to be published are generated in an HTML representation and hyperlinked. To ensure the correct linking of that information from various databases which independantly maintained by the individual working groups, they are merged in advance. In the future, a shift towards the MIF files can be expected. Last Update: September 22, 2010 |


The first attempt at anything is usually inefficient, clunky, and unpolished. That’s how I feel with my class at the moment. I’m trying to polish and refine, but I need to be patient, because I will probably never be completely satisfied…but I think good teachers are never comfortable with everything they do. We need to be finding ways to con... Read more 27 Sep 2010 - 1 minute read
Part of the mastery system is assessing students through their own, unique work. For this next unit (beginning today) students have an opportunity to show me what they know through their own digital periodic tables based on…cereal. While this isn’t true student-driven assessment, it’s a step in the right direction for my class. I’m hoping to ... Read more 13 Sep 2010 - less than 1 minute read
One of the challenges I’ve faced so far this year is explaining to parents how the class works and trying to convince some of them that this method is pedagogically sound. The biggest question I get from parents is: “With instruction based on videos and podcasts, what do you actually do in class? How is my son/daughter benefiting from this exp... Read more 10 Sep 2010 - 1 minute read
Part of the challenge of teaching today is finding a good time to meet as a group. And in a city as large as Seoul, meeting in person isn’t always an option. I’ve had a lot of trouble finding time to meet outside of school with students, so I decided to do some research on web conference meetings where students and I could “meet” and discuss c... Read more 07 Sep 2010 - 3 minute read
Mastering chemistry seems like it would be an oxymoron. Who can master chemistry? Is chemistry “master-able?” I like to think so. If we can teach students to think and make informed decisions, then we’re teaching them to be master learners. We shouldn’t be teaching only a textbook…in fact, the textbook shouldn’t even be guiding curriculum. ... Read more 06 Sep 2010 - 1 minute read


20th October 2018.
Friday 19th October 2018 at Glenfarclas Distillery or early on Saturday 20th October 2018 at Glenfiddich distillery. More details closer to the time.
Expert first aid, regular feed stations, samples of single malt whiskies, a medal, dibber timing technology, professional digital photographs, a technical T-shirt, free parking at Glenfiddich, transportation to race start, safety, security, access to toilet facilities at start and finish as well as on the route itself.
The route uses The Speyside Way mainly over forest tracks and footpaths with some occasional hilly terrain which may be boggy. There is only a very short stretch of road running along minor roads and all road crossings are marshalled. Please wear trail shoes.
Some carparking facilities at Glenfiddich distillery (the finish line for all events). All participants should leave their vehicles at Glenfiddich or in Dufftown. The Marathon runners (and the 1st and 2nd leg relay runners) will be taken by bus to the start at Glenfarclas (Relay 2nd Leg to Ballindalloch). The Half-Marathon runners (and the 3rd leg relay runners) will be taken by bus to the start of their start at Tamdhu. The 10K and 4th leg relay runners will be taken by bus to the their start at Aberlour.
We certainly do : Our equipment is the 'dibber' type that is widely used in Adventure Racing and Orienteering (including the World Championships where there's no back-up system, and 100% accuracy is vital)
Well, it's The Dramathon - when you get to the end of the race we'll give you samples of the single malts corresponding to the distance you ran.
Maybe your friends like whisky ;-) The whisky is optional, the atmosphere will be great and the route is out of this world.
There are feed stations at regular intervals along the route providing water and fruit etc. Specialised first aid teams are on hand if needs be and the event is supported by a number of marshalls who can offer assistance if necessary.
Our friends over at The Spirit of Speyside Whisky Festival have already thought about all of this. Take a look at their site here as well as Moray Speyside Tourism's website at www.morayspeyside.com which has information about places to stay, restaurants and so on.
We have a couple of cut offs – if you arrive after these times your race will stop and you’ll be transported back to the Finish. No arguments.
• 2pm @ Tamdhu Station (Marathon and Relay courses)
• 4pm @ Aberlour (Marathon, Half Marathon, and Relay courses)
We also reserve the right to cut Runners off at the Feed Stations and bring them back to the Finish by vehicle. This will be at our discretion.
We're afraid not.


{% extends "base.html" %} {% block content %} {% if object_list %}
| Users in the Domain | |||||||
| SNo | User | Quota Alloted | Quota Used | Percent Used | Change Password | Change Quota | Delete User |
| {{ forloop.counter }} | {{ object.user.username }} | {{ object.quota }} | {{ object.used }} | {{ object.percent }} | Change Password | Change Quota | Delete this User |


This is a site for making erasures from public domain texts, mostly sourced from Project Gutenberg.
Erasure is a form of found poetry or found art created by erasing words from an existing text in prose or verse and framing the result on the page as a poem.
— Wikipedia, "Erasure (artform)"
Alan Harnum, a software developer and writer, made this. You can find out more about him at his website.
Among other things, this site is an experiment in anonymous artistic collaboration. As part of creating and saving erasures on it, you agree to license the work under a Creative Commons 0 license - essentially, you give up your copyright in order to contribute it to the commons.
I recognize that anonymity has potential for abuse, and as the operator of the site, reserve the right to remove anything I would like if I judge it to be an abuse of the spirit (in various senses) of the site. In particular, I will remove anything I consider derogatory towards an individual, or hate speech of any kind.
The site's code is available on GitHub under the MIT License.


#include "chip.h"
Go to the source code of this file.
Classes | |
| struct | AfeCmd |
| Spi Transfer Request prepared by the application upper layer. More... | |
| struct | AfeDma |
| Constant structure associated with AFE port. More... | |
Macros | |
| #define | AFE_OK 0 |
| #define | AFE_ERROR 1 |
| #define | AFE_ERROR_LOCK 2 |
Typedefs | |
| typedef void(* | AfeCallback) (uint8_t, void *) |
| AFE transfer complete callback. More... | |
Functions | |
| uint32_t | Afe_ConfigureDma (AfeDma *pAfed, Afec *pAfeHw, uint8_t AfeId, sXdmad *pXdmad) |
| Initializes the AfeDma structure and the corresponding AFE & DMA . More... | |
| uint32_t | Afe_SendData (AfeDma *pAfed, AfeCmd *pCommand) |
| Starts a AFE transfer. More... | |
Interface for configuration the Analog-to-Digital Converter (AFEC) peripheral.
| #define AFE_ERROR 1 |
| #define AFE_ERROR_LOCK 2 |
| #define AFE_OK 0 |
| typedef void(* AfeCallback) (uint8_t, void *) |
AFE transfer complete callback.
Initializes the AfeDma structure and the corresponding AFE & DMA .
hardware select value. The driver will uses DMA channel 0 for RX . The DMA channels are freed automatically when no DMA command processing.
| pAfed | Pointer to a AfeDma instance. |
| pAfeHw | Associated Afe peripheral. |
| AfeId | Afe peripheral identifier. |
| pDmad | Pointer to a Dmad instance. |
Starts a AFE transfer.
This is a non blocking function. It will return as soon as the transfer is started.
| pAfed | Pointer to a AfeDma instance. |
| pCommand | Pointer to the Afe command to execute. |


|
A Man for All Seasons
by Kenneth Wagner
The film A Man for All Seasons
is a cinematic tour de force. Directed by the legendary Fred
Zinnemann (High Noon) and starring such exemplary actors
as Paul Scofield, Orson Welles, and John Hurt it won six academy
awards in 1966. The film uses the historical story of Sir Thomas
More to explore one of Zinnemann's favorite themes, that of a
person standing up for their personal convictions. However,
the film also wrestles with several themes that deal with legal
issues such as how to deal with conscientious objectors, natural
versus positive law, consequentialism versus deontology and the
history of legal safeguards in the Common Law tradition.
The
character of Sir Thomas More (who sat on the Kings Council and
eventually became Lord Chancellor) is a jurist who is devoted
to the laws and sovereign of England. He performs his duties
diligently, turning down numerous attempts at bribery and ruling
with a learned justice. He is a personal friend of the King.
However, he is also a devout Catholic Christian. When the King
seeks a divorce from his barren wife so that he can wed his mistress
and is rebuffed by the Church, he declares himself the head of
the Church and puts pressure on the clergy to accept his divorce
and new wife. More's conscience does not allow him to approve.
He resigns his post as Lord Chancellor in protest. Parliament,
at the urging of the King, passes a law requiring subjects to
swear an oath that the King's marriage (and any future heirs
from that marriage) is legitimate. For religious reasons More
refuses to sign the oath and is consequently jailed and prosecuted
for treason.
More's refusal to sign the
oath brings up the difference between civil disobedience and
conscientious objection as drawn by John Rawls. Civil disobedience
for Rawls is a form of debate, a non-violent action aimed at
the public and guided by political principles. Change is the
central point. Rawls differentiates this from conscientious
objection, which is the non-compliance with laws one sees as
immoral. Conscientious objection is not meant to change the
political sphere; it is just a decision to risk punishment rather
than violate one's moral principles. The character of More certainly
falls into the category of conscientious objector. He does not
use his position to rail against the King's oath; he does not
counsel others on the immorality of the oath itself (though certainly
this is in part to defend himself through silence). Instead,
he refers to himself as a loyal subject to the King who simply
will not swear to the oath (he does not even say that by not
swearing we should read into his silence disapproval of the oath).
Rawls defends civil disobedience
by stating that it acts as a vigilant police on the laws of society,
constantly forcing us to examine our laws and measure them by
the yardstick of justice. Conscientious objection on the other
hand is a personal issue; it is only morally permissible if the
harm caused by non-compliance is outweighed by the correctness
of the personal principle invoked in conscientious objection.
What is the harm that More's refusal could possibly cause?
The movie actually hints at such harm when at the beginning Cardinal
Woolsey defends his 'flexibility' on Church law in granting the
King a divorce by pointing to the possible civil strife that
could follow an heir-less sovereign. In this context, More's
refusal could be a morally impermissible act.
This actually brings up two
of the other issues of legal philosophy thrust upon us by the
film. More's refusal to take the oath despite the consequences
to himself, his family, and his realm constitute a form of deontological
ethics. According to deontology, some acts are inherently immoral
despite the consequences that follow. Thus, the philosopher
Immanuel Kant in his famed categorical imperative stated that
it was wrong to tell a lie, even in the case of whether one should
lie to a murderer who was stalking his victim hidden in the nearby
closet. Cardinal Woolsey represents another view, that of the
consequentialist. He admonishes More to 'come down to earth'
when More refused to change his position even when warned of
the strife that could follow his defiance. In a similar vein,
Karl Marx admonished those who clung to an abstract and 'neutral'
rule of law that had negative consequences on the poor and oppressed.
Mores refusal also invokes
the debate between positive and natural law. When his soon to
be son-in-law, a political radical, argues the law must be made
malleable to the interests of justice, More launches into a long
defense of the importance of 'man's laws.' He states that they
are all that exist to protect citizens of his realm, and that
when they are swept away to ensure 'justice' then all would
stand unprotected (the actual metaphor used is whether the law
should apply to the Devil, in other words one who we know is
evil and thus should have no protection of positive law). More's
speech invokes the theorists of positive law such as John Austin
who maintained that man made law, the order of the sovereign,
is all the law there is. Ironically, it is More who is later
caught up in the very positive law he defended and in response,
he speaks of his duty to his soul. This appeal to God's laws
invokes the perpetual counter-argument of natural law theorists
who hold that positive law can and should be measured by a 'higher'
Law of Nature. The King's law has the power to execute More,
but does it have the authority?
One of the last striking things
about this film may be a much-overlooked feature. Many viewers
of the film will likely pessimistically comment on the trumped
up nature of the prosecution of More played out brilliantly at
the end of the film. However, such pessimism may be unwarranted.
More's knowledge of the law enables him to conduct a legal strategy
based on the precedent that silence on an issue does not necessarily
imply disapproval of the Kings position (which would then warrant
High Treason). In his trial More is given a jury (though one
surely bullied by the Crown, as in the scene where the prosecutor
declares that surely no break for jury deliberations is necessary
and so the verdict is immediately rendered), an account of the
charges against him, and the right to defend himself (including
cross examination of witnesses). It is only because of the distortion
of evidence (the implication that More took a bribe that he clearly
did not) and the testimony of a false witness that More is ultimately
convicted. The question of course remains, does this show the
advanced state of English rights of the accused at this ancient
state, or does it point to the more unsettling conclusion that
even abstract legal safeguards cannot protect one when prosecutorial
dishonesty rears its ugly head?
Posted February 15, 2005
|


British Columbia - Canada
#Fun Facts
✅ yes, I am Brazilian, but..
- ❌ no, I don't play soccer
- ❌ no, I don't know Samba
- ❌ no, I have never had a monkey
-
✅ I used to have a guinea pig though,
here's a picture of him
#Interests
📺 top 5 series
- ❤ Sense8
- 🕵 Sherlock
- 💥 The Boys
- 🦸♂ Invincible
- ✡ Supernatural
🤘 favorite bands
- ☔ Bring Me The Horizon
- 🤖 Three Days Grace
- 🕺 Panic! At The Disco
- 🌘 Breaking Benjamin
#Work Experience
Software Engineer
Quadient/Beanworks - Vancouver, Canada
07/2021 - 02/2023
-
Developed features for the next-gen AP web app using
Typescript and modern React.
-
Increased developer efficiency by creating Lit Web Components
and implementing such components on Storybook in React, Vue
and Angular versions.
-
Implemented design system components using Material UI and
Styled-Components.
-
Tested React components and hooks using Jest and
React-Testing-Library.
-
Enhanced multiple modules by replacing custom grid elements
using AG-Grid, improving performance by 30%.
Front-end & React Developer
Domain7 - Vancouver, Canada
04/2018 - 06/2021
-
Developed web apps for a health and travel insurance company
used by millions of Canadians, reducing paper-based claims and
improving user experience.
-
Enhanced the program search process for a university in
California using React and consuming an Azure Cognitive Search
back-end.
-
Refactored an e-commerce solution used by thousands of
wineries worldwide using Styled-Components.
-
Improved data tracking and analytics by creating custom tags
in Google Tag Manager and Google Analytics.
-
Created unit tests and end-to-end tests with Jest, Enzyme and
Cypress.
Full Stack .NET Developer
Atinfo - Flores da Cunha, Brazil
03/2016 - 06/2017
-
Redesigned a legacy PHP web app used by representatives of a
furniture manufacturer using the .NET MVC and .NET Web API.
-
Redesigned a legacy Apex application using .NET MVC and .NET
Web API.
-
Conducted user feedback sessions to enhance next-gen web apps.
Junior Full Stack .NET Developer
Ahead — Caxias do Sul, Brazil
09/2015 - 02/2016
-
Created a program for developers to generate common source
code files for the ERP.
-
Implemented features for the new ERP using .NET MVC.
-
Provided customer support and monitored the most requested
features according to users' feedback.
#Education
Formal Education
Greystone College — Vancouver, Canada
12/2017 - 12/2018
-
International Business Management Co-op Diploma
CETEC — Caxias do Sul, Brazil
03/2013 - 08/2015
-
IT Support/Programming certificate and 6-month internship.
Informal Education
#Skills
- Javascript (EcmaScript 2021)
- React, Create-React-App, NextJS, Redux
-
NodeJS, Express, Passport, MongoDB, Mongoose
-
SASS, CSS Modules, Styled-Components, MaterialUI
- Jest, Enzyme, Cypress
- React Native, Expo
- .NET(Web API v2.0, MVC v6.0)
- SQL Server