DOGMA (M). (New Line Cinema/Village Roadshow) Director: Kevin Smith Stars: Ben Affleck, Matt Damon, Linda Fiorention, Chris Rock, Alan Rickman, Salma Hayek, Jason Lee, Kevin Smith, Jason Mewes, George Carlin, Janeane Garofalo, Bud Cort, Alanis Morisette, Dwight Ewell, Jeff Anderson, Barrett Hackney, Jared Pfenningwerth, Kitao Sakurai Running time: 129 minutes.
Who would have thought the final apocalyptic battle between the forces of good and evil for the future of the world would take place in New Jersey, of all places? Possibly only Kevin Smith (Clerks, Chasing Amy, etc), the idiosyncratic writer/director who sets all his off beat, low budget comedies in his beloved New Jersey.
In the past, Smith's films have offended many with their misogynistic humour, their cynical take on relationships, and their decidedly anti-authoritarian stance. While Smith is obviously working with a bigger budget here, Dogma is little different in style or content from his earlier films. However, Dogma is a far more ambitious film, and finds Smith exploring more sophisticated themes and ideas. Smith deconstructs 2000 years of biblical mythology and Catholic dogma, as well as tackling issues of mortality, faith, and belief versus organised religion.
In Dogma, hot young stars Matt Damon and Ben Affleck continue the familiar best buddy schtick they have perfected through films like Good Will Hunting, etc. The pair play Loki and Bartleby, two vengeful angels thrown out of heaven but anxious to return to the good graces after centuries in exile. They have now found a liturgical loophole that will enable them to re-enter heaven. However, if that happens, it will somehow prove the fallibility of God and thus destroy existence as we know it.
Tapped to prevent this cataclysmic event is Bethany (Linda Fiorentino, from The Last Seduction, etc), a lapsed Catholic who runs an abortion clinic in Pittsburgh. Also along to help out is hyper active, fast talking comic Chris Rock (Lethal Weapon 4, etc), who gets some of the film's best lines as the very annoyed and ignored 13th apostle Rufus. The hapless duo of Silent Bob (played by Smith himself) and Jay (Jason Mewes) have played gradually expanding roles in each of Smith's films, and here the pair are given a major role to play as they are mistaken for a couple of prophets mysteriously sent to assist Bethany in her mission.
Dogma is very funny stuff, with plenty of great one liners, Smith's irreverent, iconoclastic sense of humour, and the usual pop culture references. But Smith's penchant for clever writing often leads to great long patches of dialogue and unnecessary philosophising, that slow the film down to a crawl. His fondness for puerile scatological humour also surfaces, and while this base humour may appeal to some in the audience it will not sit as comfortably with others.
Fans of Smith's warped comic sensibility will find plenty to enjoy in Dogma, while those who have never really appreciated him or his films will find little here to redeem him in their eyes.
*** greg king http://www.netau.com.au/gregking
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Search your Spotify albums by album cover image. Try colors (red, white), objects (tree, balloon), or even places (outdoor, indoor).
Processing Spotify library. This may take a few minutes!


Winter War: The 1939 Soviet Invasion Of Finland In Crystal Clear Photos
by Amos ChappleOn November 30, 1939, nearly half a million Soviet troops stormed into Finland, beginning what would become known as the Winter War. The surprise attack came after the Kremlin, fearing a possible Nazi offensive through Finland, had insistently called for a land swap that would have pushed the Finnish border away from Leningrad (now St. Petersburg). Wary of Soviet intentions, Finland’s government refused.
Soviet planners assumed an easy victory in time for Josef Stalin's 60th birthday on December 21. It was not to be.
Although the Red Army would eventually win the war, the defeat of the country of just 3.7 million people came only months later -- and at a terrible cost.
These pictures are some of the approximately 7,000 images of the Winter War from the Finnish Defense Forces archive that were digitized and released to the public in 2013.
Amid an international outcry over the unannounced attack on Finland, Soviet Foreign Minister Vyacheslav Molotov claimed on the radio that planes were dropping food supplies -- rather than bombs -- to hungry Finns.
Showing their dark sense of humor, the fighters named the firebombs after the Soviet foreign minister as a "drink to go with the food" that Molotov had claimed to be dropping on Finland. Thus giving birth to an oft-used weapon in conflicts through the decades since.
Much of the weaponry used by the Finns was captured from Soviet forces.
The invading Red Army troops initially wore dark uniforms, making them easy targets for Finnish sharpshooters.
Professional farmer and hunter Simo Hayha reportedly killed more than 500 Soviet soldiers during the Winter War, before he was shot in the face and badly wounded by a Soviet sharpshooter. Late in life, when asked if he regretted killing so many young men, he responded, "I only did what I was told to do, as well as I could." Hayha died in 2002 and was buried under a tombstone reading "Home -- Religion -- Fatherland."
In contrast, Soviet armor could be heard from kilometers away, and was largely reliant on the few roads that cut through the Finnish wilderness.
As columns of Soviet troops and vehicles filed along forestry roads, Finnish ski troops were able to stealthily move into position and destroy vehicles at the front and rear. With the road blocked the Finns could then encircle and destroy the trapped Red Army columns.
In the years leading up to the Soviet invasion of Finland, the purge of the Soviet military during Stalin's Great Terror left the army's command structure in disarray.
In January 1941, Britain’s Winston Churchill said of the ongoing war "Finland shows what free men can do.... Everyone can see how communism rots the soul of a nation; how it makes it abject and hungry in peace, and proves it base and abominable in war. We cannot tell what the fate of Finland may be, but no more mournful spectacle could be presented...than that this splendid northern race should be at last worn down and reduced to servitude worse than death by the dull brutish force of overwhelming numbers."
Temperatures in Finland dropped below minus 40 degrees Celsius during the war. The Red Army at the time had a policy of not training its troops in temperatures lower than minus 15 Celsius.
One group of surrounded Soviet soldiers sent a message to their superiors: "We are dying, please pay our March wages to our families. Tell everyone that we died as heroes…we did not surrender."
During interrogation, one prisoner recalled being told he was to "liberate our [Finnish] worker friends from capitalism." The soldier soon realized he had been misled: "I can feel in my own skin how we were welcomed by those we came to 'free.'"
After weeks of devastating losses up and down the eastern edge of Finland, the Soviet command finally changed tactics and focused on capturing Helsinki in the country's well-defended south.
Incendiary cluster bombs were used by the Soviets against Finnish settlements made of wood.
With overwhelming numbers, the Soviets began forcing back the exhausted Finns. In March 1940, as Soviet troops entered the suburbs of Vyborg, the Finns had little choice but to accept harsh Soviet terms for an armistice.
Accepting the armistice cost Finland 11 percent of its territory, including the country's second city of Vyborg. The Winter War left 25,904 Finns dead. The Soviets lost at least 126,875 soldiers.
Soviet leader Nikita Khrushchev later recalled "All of us -- and Stalin first and foremost -- sensed in our victory a defeat by the Finns. It was a dangerous defeat because it encouraged our enemies' conviction that the Soviet Union was a colossus with feet of clay."
Just over a year after the Winter War ended, Finland made the disastrous decision to join the Nazi invasion of the U.S.S.R.
-
Amos Chapple
Amos Chapple is a New Zealand photojournalist with a particular interest in the former U.S.S.R.


Struggling to figure out where to start?
There are almost too many resources out there to learn how to program. And a lot of those resources leave people in vicious cycle where they complete tutorials, and then try and execute what they've learned practically, discover they can't, and go back to review those same tutorials (or slightly different ones that cover the same material). You don't have to get caught in the cycle! If you use this great resource, you'll be challeneged every day you practice, and that challenege will translate into practical skills!
Learn how to program is a website that hosts the curriculum of the coding bootcamp Epicodus. That's right--the entire program is hosted online. You can complete it at your own pace, with guidance from videos and cheat sheets when you're learning a new concept, and not much guidance at all when you actually have to do the project. This will help you grow as a developer, and make sure you don't get stuck in a cycle of never quite getting it.
I know what you're thinking--I'm some shill from this camp. No. I am in no way associated with Epicodus. I've just been having such a great time using their materials that I have to share it with anyone that'll listen.
Don't think it'll work? Checkout some of these projects that I've completed in my month of using Learn how to program.
Also, I'm not very smart or very good at this. Think of what you could achieve if you gave the program a shot!


WebTrader is an HTML5 application developed in AngularJS. Each user interface (UI) component is represented by an Angular "partial" (a self-contained block of HTML code) and a corresponding Angular controller (a js file that contains business logic and binding code). Angular data-binding automatically updates the state of the UI.
A set of Angular "services" provide connectivity and utility functions. The connectivity services use the socket.io library to communicate with ChartIQ's Middleware for MT4.
This modular design allows developers to take individual pieces of WebTrader and insert them into their own website. HTML and CSS may be modified to taste to fit the aesthetics of the site. Angular "filters" can be used to transform data when necessary and controllers can be used either off-the-shelf, or as a starting point for exposing additional data to the user interface.
The Market Watch component displays real time quotes for all Symbols that the user has access to trade. This component also includes features to start a New Order/New Pending Order dialog or plot the Symbol in the ChartDock.
The trading portion of this component has two different behaviors depending on if the user has One-Click Trading enabled or not. If One-Click Trading is enabled then the user is able to input the Volume, SL PIPS, TP PIPS and then click Buy/Sell to instantly execute the transaction. If One-Click Trading is disabled, then clicking Buy/Sell will open the New Order/New Pending Order dialog.
The user can also open the New Order/New Pending Order dialog by pressing the icon in the top right-hand corner of the expanded Symbol dialog.
The icon enables you to plot the Symbol on the ChartDock. After clicking the icon, a context menu will appear that prompts you for the chart interval to apply to the x-axis of the chart.
The chart interval options are:
The information in Account Overview is polled every 80 milliseconds and updated every time a trade is executed. The metrics provided are:
The ChartDock enables traders to keep multiple charts (up to 10) running in the same browser window. The flexible interface allows users to slide and stack charts, or let the application automatically dock charts in a grid pattern. Charts on the ChartDock can be quickly manipulated on the fly by right-clicking them to access an additional options menu.
The Chart Tools component is an icon based menu that allows users to access all of the Chart Tools in WebTrader. These are the same Tools that are available under the Tools menu in the Navigation component. This menu contains one additional feature that Navigation Tools does not - the last icon gives the user the ability to select what color the selected tool displays on the chart.
The Open Positions tab displays all open positions that the user currently holds. This tab also includes additional features that the user can select for each individual position or all of them as a whole.
The Summary tab aggregates all Open Positions by Symbol, Buy Positions, Sell Positions, Sell Volume, Net Volume, Average Price, Commission, Swaps, Pips, and Profit. It also enables the user to open the New Order dialog or do a Close All on positions that are aggregated together.
The Pending Orders tab displays all pending orders that the user currently holds. It also enables the user to modify or delete the selected order.
The History tab displays detailed historical information on each completed order that has been opened and closed by the user.
The Transaction tab displays all deposits and withdrawals from the users trading account.
Currently the News tab does not function. This is a work in progress. The tab will allow the user to search a specific Symbol and retrieve the latest news on that Symbol.
The Statistics component displays various metrics that describe the user’s trading performance. This information is accessible by clicking the icon in the top-right of the application.
Standard Login screen with Server, Account, and Password inputs.
Standard Login screen with Email and Password inputs.
The New Order dialog enables the user to place a New Order. The user can choose to click New Pending to open the New Pending Order dialog.
A dialog that enables the user to place a New Pending Order. The user can choose to click New Order to open the New Order dialog.
A dialog for enabling the user to Modify a Pending Order.
A dialog menu for enabling the user to update or close an open position.
The Chart Studies dialog enables users to select an indicator to bring up additional settings and plot it in the ChartDock.
The One-Click Trading dialog allows the user to enable the functionality of One-Click Trading , which executes trades immediately after the order is placed. This feature should be utilized by advanced users only. This feature can be enabled from two different areas in the application:
The Settings dialog enables the user to configure general settings of the WebTrader application.


--- title: "Serverless message relay" output: blogdown::html_page: toc: false toc_depth: 1 fig_width: 8 dev: "svg" author: "Houston Haynes" date: '2019-10-19T14:59:43+05:30' featuredpath: img featured: hex-FunctionApps.png ogfeatured: H3_og_wide_hex-FunctionApps.png emblem: cloud.png cover: \img\contact_image_large.png description: Using Azure Function Apps and SendGrid for email housekeeping draft: false tags: - R - blogdown - Node - Azure Functions - SendGrid categories: - Sidebar weight: editor_options: chunk_output_type: inline ---
While it’s an elegant and inexpensive result, bringing this side project to a notch point was not exactly straightfoward. Once I determined how the message was to be constructed for the SendGrid v3 API, along with a few tweaks to {{% url-link "Function App bindings," "https://docs.microsoft.com/en-us/azure/store-sendgrid-nodejs-how-to-send-email" %}} it all came together. I added some JavaScript and CSS to animate the Function Apps logo, which provides a more active visual experience.
This all started, like many tech digressions, with humble beginnings. I wanted to find if anyone else had used Azure Functions for handling messaging through their static site, and there were several examples. Unfortunately the information had grown stale by the time I found it. The core concept is out there in several repos/blog posts, but there have been changes since then which invalidates a straight fork-and-deploy approach. So I did a bit of my own homework and derived a workable solution. I’ll start with a brief walkthrough - a GIF of an early version of the form in action.
{{% fancybox-dark-theme-ok "/img" "ContactAzureFunction.gif" %}}
The Function can take up to 20 seconds to respond when initiating from a cold start. So this GIF has been edited as a courtesy. And as much as I’d like to think I’m popular, the likelihood of multiple people clicking “Submit” when a Function App instance is idling is - in a word - remote. Even while testing on an idling Function instance there’s still enough wait time to see the animation “pulse” on screen once or twice. So it’s more to the point that having a bit of action in the page to represent the request/response cycle can indicate to the user that things are happening behind the scenes.
While I provided inline comments for some of the code blocks, there’s still a few bits of context worth mentioning here. Below is the Node-based Function App message binding, key being the nested from element that contains both the name and email of the submitted form. There are several alternatives to this using “personalization” but it’s really unnecessary with the latest API.
There were no examples online that showed this specific binding pattern. So I cobbled this together by looking at SendGrid’s API docs plus the sample message binding in a SendGrid-native template that Microsoft makes available in the Function Apps portal.
In the HTML form below you’ll see there are several placeholder elements - waiting for actions based the javascript listener and promise response.
I’ve read several posts from first-order front-end developers disparaging inline styles, but in this case I kept it for - you guessed it - visibilty. It may be something I refactor at a later date.
The inline comments provide enough breadcrumbs to follow the logic. There’s a possibility for more verbose error messaging (see my caveat below) but this works well enough to get things moving along.
The icon animation also came from an online resource. {{% url-link "Loading CSS" "https://loading.io/button/" %}} provides a pure CSS3 for certain behaviors, and I modified their heartbeat example for this site.
So while I gloss over how well everything works when it’s working, there were a few stumbling blocks that was a mixture of my own cobwebs working with Node and some minor gaps in documentation here and there. Below are two examples of things that cost me a lot more time than they would have if I was a more seasoned front-end developer.
The first thing that tripped me up was an output binding error message I was seeing when testing in the portal. I had started with an HTTP triggered function template, and added the SendGrid output bindings afterward.
I was in a hurry. That was my first mistake. There were other problems I encountered in troubleshooting that were largely of my own making. My machine is still relatively new and I hadn’t bothered changing my default browser from Microsoft Edge. I would open Firefox or Chrome manually and paste in the local URL when I needed to check the local build on those browsers. In this case that was a strategic mistake. The messages coming back in Edge didn’t give me the detail to show the other mistake I had made - that is - to make sure my CORS settings would allow my localhost as an origin. Once I popped over to Chrome I nearly blew a gasket - both at the lack of verbosity in Edge and in my own impatience for missing this.
{{% fancybox-dark-theme-ok "/img" "FunctionAppDebugging.png" %}}
When running the test in portal, everything worked fine. The browser is on my desktop so there’s no problem, right? But the origin header for the request from the test in portal is already pre-cleared by the function app defaults.
I had already set up my production and staging endpoints to pass through, but simply forgot to add the localhost origin. And of course I paid almost no attention to the origins that were already listed - which I assume allow the tests in the Funtion App portal to process without issue. I lost more than an hour beating myself up trying to get this to work. Eventually I gave up and simply deployed into my staging instance to run the tests, which was fine - but the find/fix cycle is not nearly as quick as running locally. I suppose if I had configured VSCode for remote debugging I would have found this earlier. That’s what “being in a hurry” gets me…
So now I have Firefox set as my default browser, which is a real acid test for a variety of reasons I’ll delve into with another post.
{{% fancybox-dark-theme-ok "/img" "FunctionAppNodeCORS.png" %}}
Above are the settings that allow my localhost to work - your mileage (and localhost declaration pattern/port) may vary. If you’re familiar with serving locally in RStudio/Hugo you’ll know about how ports will change if you happen to trigger more than one server instance. Port 4321 is the intial default - Ctrl/Cmd+Alt+F10 is your friend here.
I really had fun placing the {{% url-link "Azure Function App logo" "https://www.microsoft.com/en-us/download/details.aspx?id=41937" %}} into the form as a spinner. That plus the gray overlay gives the page a guided feel that an empty “static” form simly doesn’t convey. The overlay also acts as a mask to prevent multiple clicks of the submit button, which isn’t a real risk but stil nice to keep the interaction model relatively tidy.
I’m a huge fan of serverless, and am really glad to have this as a resource. It’s essentially free - as the basic SendGrid account allows 25,000 free messages per month. I doubt I see 25 messages per month from my site - outside of my own testing. Of course the first paid tier for Azure Function App in the Consumption plan is after 1 million runs, so again it feels like you’re receiving free enterprise-grade resources. And this will also come in handy for processing notifications out of my GitHub Actions pipelines, which is a subject for a later post.
If you’re interested in trying something similar, feel free to {{% url-link "fork the repo" "https://github.com/houstonhaynes/ContactFunction" %}} and give it a try!
As usual, there’s one more thing… the email. In my case, I’m routing to a Gmail account. Since this is coming from SendGrid the messages were automatically flagged as possible SPAM. The answer in my case was to create a filter that ensured it wouldn’t get routed to the SPAM folder.
{{% fancybox-dark-theme-ok "/img" "SendGridRoutingRule.png" %}}
Note that I used my domain name in the subject line as a flag - which is set in the bindings of the index.js of the Function App. The rule both sets the message to always be flagged as important and never marked as SPAM. That way the message is always routed appropriately. So now messages from your site will route to the top of your inbox and all you have to do is click on the “reply” button and type away. Happy emailing!


The menu bar is a collection several menus. A menu contains one or more menu items. Each menu item is used to perform a specific task. JFTP's menu bar contains the following six menus:
The FTP menu contains the following menu items:
| Menu Item | Description |
|---|---|
New Session |
Opens a new FTP session tab. |
Close Session |
Closes the selected FTP session tab. |
Connect... |
Opens the Connect dialog.
|
Disconnect |
Disconnects the selected FTP session. |
Reconnect |
Reconnects to the previously connected FTP site. |
Download |
Copies files and/or directories from the FTP site to the local system. |
Download As... |
Opens the Download As dialog.
|
Download and Unzip... |
Opens the Download and Unzip dialog.
|
Upload |
Copies selected files and/or directories from the local system to the FTP site. |
Upload As... |
Opens the Upload As dialog.
|
Zip and Upload... |
Opens the Zip and Upload dialog.
|
Abort |
Aborts the current transfer, if any |
Exit |
Terminates all active FTP sessions and exits the application |
On Mac OS X, the
Quit
menu item under the
JFTP
menu is equivalent to the
Exit
menu item.
The
Local File
menu contains the following menu items:
| Menu Item | Description |
|---|---|
Open |
Opens the selected local file or directory using the associated application. |
Edit |
Opens the selected local file for editing using the associated application. |
Print |
Prints the selected local file using the associated application. |
E-Mail |
Composes a new e-mail message with the selected local file attached to the message. |
New -> File... |
Opens the New Local File dialog.
|
New -> Directory... |
Opens the New Local Directory dialog.
|
Change Directory... |
Opens the Change Local Directory dialog.
|
Rename... |
Opens the Rename Local File or Directory
dialog.
|
Delete... |
Deletes selected files and directories from your PC, permanently. |
Apply Filter... |
Opens the Filter Local Files dialog.
|
Clear Filter |
Clears the current filter, if any. |
Refresh |
Refreshes the contents of local working directory. The root directories will also be refreshed. |
Properties |
Displays the properties of selected local file or directory. |
Select All |
Selects all objects in the local pane. |
Invert Selection |
Inverts the object selection in the local pane. |
The
Remote File
menu contains the following menu items:
| Menu Item | Description |
|---|---|
Open |
Opens the selected remote file or directory using the associated application. |
Edit |
Opens the selected remote file for editing using the associated application . |
Print |
Prints the selected remote file using the associated application. |
E-Mail |
Composes a new e-mail message with the selected remote file attached to the message. |
New -> File... |
Opens the New Remote File dialog.
|
New -> Directory... |
Opens the New Remote Directory dialog.
|
Change Directory... |
Opens the Change Remote Directory dialog.
|
Rename... |
Opens the Rename Remote File or Directory
dialog.
|
Delete... |
Deletes selected files and directories from the FTP site. |
Execute Command -> Help |
Sends HELP command to the FTP site and displays
the response in the message log.
|
Execute Command -> Status |
Sends STAT command to the FTP site and displays
the response in the message log.
|
Execute Command -> System Info |
Sends SYST command to the FTP site and displays
the response in the message log.
|
Execute Command -> No Operation |
Sends NOOP command to the FTP site and displays
the response in the message log.
|
Execute Command -> Other... |
Opens the Execute Command(s) dialog.
|
Apply Filter... |
Opens the Filter Remote Files dialog.
|
Clear Filter |
Clears the current filter, if any. |
Refresh |
Refreshes the contents of remote working directory. |
Properties |
Displays the properties of selected remote file or directory. |
Select All |
Selects all objects in the remote pane. |
Invert Selection |
Inverts the object selection in the remote pane. |
The
Transfer Mode
menu contains the following menu items:
| Menu Item | Description |
|---|---|
Auto Detect |
Sets the transfer mode to auto. |
ASCII |
Sets the transfer mode to ASCII |
Binary/Image |
Sets the transfer mode to binary (also called image) |
The
Tools
menu contains the following menu items:
| Menu Item | Description |
|---|---|
Add to Favorites... |
Opens the Add Favorite FTP Site dialog
|
Manage Favorites... |
Opens the Manage Favorites dialog
|
Manage Certificates... |
Opens the Manage Certificates dialog
|
Preferences |
Opens the Preferences dialog.
|
On Mac OS X, the
Preferences
menu item is not available under
Tools
menu, instead, it is available under the
JFTP
menu.
The
Help
menu contains the following menu items:
| Menu Item | Description |
|---|---|
Contents and Index |
Displays help. |
Request License... |
Opens Request a Commercial License dialog
|
Install License... |
Opens the Install License dialog
|
Tips |
Displays Tips |
FAQ |
Displays FAQ (Frequently Asked Questions). |
Support |
Displays support information. |
Send Feedback |
Provides information on how to send feedback about JFTP. |
About |
Displays product's information. |
On Mac OS
X, the
About
menu item does not exist under
Help
menu, instead, it is under the
JFTP
menu.


FeatureSet
A FeatureSet can be used to represent an input pipeline as a collection of elements which is used in the model optimization process. You can use FeatureSet to switch the memory type between DRAM
, DISK_AND_DRAM(numSlice)
and PMEM
in consideration of the hardware optimization.
* DRAM
is the default mode which would cached the training data in main memory.
* DISK_AND_DRAM(numSlice)
mode will cache training data in disk, and only hold 1/numSlice of data in main memory. After going through the 1/numSlice, we will release the current cache, and load another 1/numSlice into memory.
* PMEM
mode would try to cache the training data in persistent memory rather than main memory. You should install the Intel Optane DC Persistent Memory hardware to AD mode before switching to this option.
Scala example:
In scala, user can create a DRAM or DISK_AND_DRAM FeatureSet from any RDD. But PMEM FeatureSet only support RDD of ByteRecord, Sample or ImageFeature.
import com.intel.analytics.zoo.feature.FeatureSet
import com.intel.analytics.zoo.feature.pmem.{DRAM, DISK_AND_DRAM, PMEM}
// DRAM featureSet
val dramSet = FeatureSet.rdd(rawRDD, memoryType = DRAM)
// DISK_AND_DRAM featureSet
val diskSet = FeatureSet.rdd(rawRDD, memoryType = DISK_AND_DRAM(10))
// PMEM featureSet
val pmemSet = FeatureSet.rdd(rawRDD, memoryType = PMEM)
// Add your transformer: featureSet -> feature transformer -> batch and sample transformer
val dataSet = ...
Take a look at InceptionV1 example scala version for more details.
Python example: In python, user can create FeatureSet from RDD, ImageSet, and ImageFrame.
from zoo.feature.common import FeatureSet
dramSet = FeatureSet.rdd(rawRDD, memory_type = "DRAM")
# DISK_AND_DRAM featureSet
diskSet = FeatureSet.rdd(rawRDD, memoryType = "10")
#PMEM featureSet
pmemSet = FeatureSet.rdd(rawRDD, memoryType = "PMEM")
#Add your transformer: featureSet -> feature transformer -> batch and sample transformer
dataSet = ...
Take a look at InceptionV1 example python version for more details.


Google PageSpeed is a tool for testing the performance of websites for mobile and desktop, and plays some part in how Google’s algorithms rank your website. Page speed isn’t everything but I got obsessed with the idea of achieving a perfect 100/100 score for both mobile and desktop, so I set out to achieve it on a small landing page for one of my mobile apps.
I’ll be tailoring this guide to websites hosted on Amazon Web Services S3 and Cloudfront. If you’re unfamiliar with this hosting method I highly recommend checking out Jorge Escobar’s guide here which covers hosting on S3, distributing through the Cloudfront CDN and setting up SSL/TLS/HTTPS. Hosting a static site on S3 can be very cost-effective; hosting multiple sites for < $5 month is not unusual. With Amazon’s free-tier it may even be free for you.
After you’ve set up your website through S3, go to PageSpeed Insights, input your website and hit analyze.
Yes, that’s youtube with a score of 46 for mobile and 76 for desktop. Funnily enough, Vimeo gets 93 mobile / 80 desktop. I hear another anti-trust fine a’brewin
Rather helpfully PageSpeed provides insights into how to improve your website’s score. I’ll break down each of the Possible Optimisations below into seperate sections with advice on how to fix them for an S3-hosted website.
Optimise Images
This is one of the easiest things to fix and should give one of the biggest boosts in both performance and PageSpeed score. PageSpeed automatically compresses and resizes your images for you and provides a download link at the bottom. Click the link, download the images and replace your websites images with Google’s optimised versions.
Minify Javascript/HTML/CSS
Minification removes unneccessary whitespace and characters to make the overall filesize smaller. This is also pretty easy to fix, you can use the optimised versions provided by google, the same as with the images, or you can use a tool like Gulp or even an in-browser tool like minifier.org. Replace your files with the minified versions and the warning should disappear.
Avoid Landing Page Redirects
If you’re receiving this issue on an S3 site make sure you have your DNS set up correctly (Route53 if you used the guide mentioned earlier). Your domain name should point to your Cloudfront Distribution, which should point to your S3 bucket. Here’s a screenshot of my configuration:
Route53 Setup
Cloudfront Setup
S3 Setup
Leverage Browser Caching
Another slightly more difficult configuration is setting up caching. This enables client-side caching so that resources are stored by a user’s browser for a duration.
There are two ways you can set this up: on the S3 Console or via the S3 upload command.
To change this on the console, select all items in your website’s S3 bucket, click ‘More’ > ‘Change metadata’.
Add a new item with key ‘Cache-Control’. Set the value to ‘max-age:[seconds]’. This is the how long the item will be cached client-side before expiring, and a new copy is downloaded by the client. This needs to be a big number, if you set something like 2 hours then Google PageSpeed will still nag you. In the example I’ve set it to 2 years (63072000 seconds) which supresses these warnings.
The second way to do this via the S3 upload command with the --cache-control
option. Here’s an example:
aws s3 cp --recursive index.html s3://ansavoicemail.com/ \
--grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers \
--cache-control max-age=63072000
Remember to invalidate the Cloudfront cache after you make changes to your S3 bucket, so that these changes are propogated to the edge-servers, otherwise Cloudfront will be serving the old version of your files. There are better ways to do this but if you want to quickly refresh all files, go to Cloudfront, select your distribution, go to the Invalidations
tab, click Create Invalidation
. In the Object Paths
box put *
. Click Invalidate
.
Eliminate render-blocking JavaScript and CSS in above-the-fold Content
This is perhaps the most difficult optimisation as its highly dependent on your websites layout and content. This warning occurs because your website is loading external resources above-the-fold (the top-section of your website that is visible when it loads). For example you may be loading bootstrap or ajax from their respective CDNs, which is slowing down your rendering.
Firstly try to remove any unused external resources, or move them locally into your s3 bucket if possible. If you’re using bootstrap or another framework, you’re probably only using a fraction of the CSS it provides. You can try to extract only the CSS selectors that are being utilised. Check out CSS Used for Google Chrome Run it on your site, copy the CSS it gives you, run it through a CSS minifier and save it. If you only have a small amount of CSS you can include it in-line on your site. In the <head>
section of your site add the minified css between <style>
tags:
<style>
.nav{margin-top:2rem;margin-bottom:2rem}
...
</style>
A common pitfall of this step is Google Analytics which throws the ‘Eliminate render-blocking…’ warning. To remedy this, download Google Analytics from https://www.google-analytics.com/analytics.js and store it with your site in S3. I also found that this script was re-downloading analytics.js from Google, so CTRL+F in analytics.js and replace any references to the above URL with your local file:
https://www.google-analytics.com/analytics.js
replace with e.g. ->
js/analytics.js
You may also have a Google Tag Manager script, something like this:
<script async src='https://www.googletagmanager.com/gtag/js?id=UA-01234567-1'>
Go to the URL, download the script, save it locally. Run CTRL+F again and replace any references to https://www.google-analytics.com/analytics.js
with your local copy.
Enable Compression
As S3 isn’t a normal webserver it wastes no processing power in gzip compressing files for you, so you need to do this manually before you upload them.
You should only compress html, css and javascript files with gzip. To do this on Mac and Linux run gzip -9 and then the filename:
gzip -9 -k -f *.html
gzip -9 -k -f *.js
gzip -9 -k -f *.css
-9
is for maximum level of compression, -k
keeps the original file, -f
is force, so we replace our previous compression without the ‘are you sure…’ prompt.
If you compress index.html
you should get index.html.gz
out. We need to upload these compressed files to S3 with the compression type included in the metadata, so that the client knows to decompress the files before showing them in the browser.
You can add the compression metadata through the S3 console or with the upload command. The command below shows how you might do this with the --content-encoding
option:
aws s3 cp --recursive index.html s3://ansavoicemail.com/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --cache-control max-age=63072000 --content-encoding gzip
Alternatively, in the S3 console, select your compressed files, go to ‘More’ > ‘Change metadata’. Add a new key called ‘Content-Encoding’ with the value ‘gzip’:
NOTE: Don’t forget to change any references in your html files to the compressed files. For exaple if you’re loading in your JavaScript with src="css/myscript.min.js"
, compress your JavaScript then change the reference to src="js/myscript.min.css.gz"
. Alternatively rename your compressed files to remove the .gz
extension, then you’ll have less problems during development.
Reduce Server Response Time
I received this warning while I was making the previous optimisations. Once i’d removed all the other warnings this one dissapeared too. As its hosted on S3 with Amazon’s CDN you’re pretty cutting-edge in terms of deployment. If that doesn’t cut it then you need a consultant, not a tutorial.
You might want to try reduce the size of your content. 100MB of optimised images is still 100MB of images; try to defer rendering until the above-the-fold content is rendered or implement some sort of splash-screen to make the site appear to render quicker.
Conclusion
Hopefully these optimisations have improved the speed of your S3 static site to that perfect 100, or as close as you can get. PageSpeed is only a part of SEO and is not worth obsessing over. Getting a perfect 100 involves a lot spaghettification that can cause headaches if you need to make frequent updates. Downloading scripts like Google Analytics to your own server means that you won’t be up-to-date if it changes, unless you set up some additional automation. Unless your website is cripplingly slow, users probably won’t even notice your fine-tuning, but it should help bring in a few new users through search engines.
—— Tom 2017.10
-
Previous
iOS 11 and Android 8.0 Oreo App Icon Design Template -
Next
RxJava 1.x - How to Observe on the Main UI Thread


💡 Tinchoram
Martín Ramírez
💻 Architect | 👷 SRE | 🐍 Developer | 🤓 Geek | 📷 Pics | 🌎 Carpe Diem
{% block blocks %}{% endblock %}


“After the Polish refugees, came Colmiche, an old man who was credited with having committed frightful misdeeds in '93. He lived near the river in the ruins of a pig-sty. The urchins peeped at him through the cracks in the walls and threw stones that fell on his miserable bed, where he lay gasping with catarrh, with long hair, inflamed eyelids, and a tumour as big as his head on one arm.” — Gustave Flaubert, A Simple Soul


public class EncryptionAlgorithm
extends java.lang.Object
Note that the values here are implementation-specific and arbitrary. It is recommended not to depend on the particular values (e.g. serialization).
| Modifier and Type | Field and Description |
|---|---|
static int |
_3DES_EDE_CBC |
static int |
AES_128_CBC |
static int |
AES_128_CCM |
static int |
AES_128_CCM_8 |
static int |
AES_128_GCM |
static int |
AES_128_OCB_TAGLEN96 |
static int |
AES_256_CBC |
static int |
AES_256_CCM |
static int |
AES_256_CCM_8 |
static int |
AES_256_GCM |
static int |
AES_256_OCB_TAGLEN96 |
static int |
ARIA_128_CBC |
static int |
ARIA_128_GCM |
static int |
ARIA_256_CBC |
static int |
ARIA_256_GCM |
static int |
CAMELLIA_128_CBC |
static int |
CAMELLIA_128_GCM |
static int |
CAMELLIA_256_CBC |
static int |
CAMELLIA_256_GCM |
static int |
CHACHA20_POLY1305 |
static int |
DES_CBC |
static int |
DES40_CBC |
static int |
IDEA_CBC |
static int |
NULL |
static int |
RC2_CBC_40 |
static int |
RC4_128 |
static int |
RC4_40 |
static int |
SEED_CBC |
| Constructor and Description |
|---|
EncryptionAlgorithm() |
public static final int NULL
public static final int RC4_40
public static final int RC4_128
public static final int RC2_CBC_40
public static final int IDEA_CBC
public static final int DES40_CBC
public static final int DES_CBC
public static final int _3DES_EDE_CBC
public static final int AES_128_CBC
public static final int AES_256_CBC
public static final int AES_128_GCM
public static final int AES_256_GCM
public static final int CAMELLIA_128_CBC
public static final int CAMELLIA_256_CBC
public static final int SEED_CBC
public static final int ARIA_128_CBC
public static final int ARIA_256_CBC
public static final int ARIA_128_GCM
public static final int ARIA_256_GCM
public static final int AES_128_CCM
public static final int AES_128_CCM_8
public static final int AES_256_CCM
public static final int AES_256_CCM_8
public static final int CAMELLIA_128_GCM
public static final int CAMELLIA_256_GCM
public static final int CHACHA20_POLY1305
public static final int AES_128_OCB_TAGLEN96
public static final int AES_256_OCB_TAGLEN96


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| MeshSchema.ts | 97.53% | 158/162 | 81.82% | 18/22 | 100% | 18/18 | 97.48% | 155/159 | |
| MeshUtil.ts | 96.45% | 190/197 | 83.93% | 47/56 | 100% | 20/20 | 96.41% | 188/195 | |
| ShpFile.ts | 100% | 129/129 | 93.75% | 15/16 | 100% | 11/11 | 100% | 127/127 | |
| Worker.ts | 11.59% | 8/69 | 10% | 2/20 | 33.33% | 2/6 | 10.29% | 7/68 | |
| zxymod.ts | 100% | 3/3 | 50% | 2/4 | 100% | 1/1 | 100% | 3/3 |


I have all the new gadget's that have been appearing recently. My favourite home device right now is the Amazon Echo. I think the potential is high to get more useful interaction in a shared private space. I have other thoughts on automotive and public commuting interfaces. I chose the home automation space to start with as I think that this is where the greatest savings may be realised. Also, I live with my parents so why would I not!
I've had my Echo Dot for a couple weeks now. I find the
audio control very easy to use, especially in my bedroom.
I've enabled the Philips Hue skill for lighting control,
and need to get the IR blaster control for the TV.
The lighting skill works easily and I'm pretty pleased with the voice controlled
lights.
Ordered the Netatmo thermostat for 2 reasons. One, I have
a Netatmo Weather Station (courtesy of the folks at BrainTree) and two, that I mananged to get it for £120, which is about 60% of the competition. The thermostat control is the real motivation for home automation. Several personal blogs and reviews have shown that there is a several hundred (mostly $) saving over the year once there is smart control over the heating.
I'm not sure that we will benefit as much as my parents are often at home.
I've got the white lights to start as I don't really need a disco in my bedroom. My bulbs are the screw-in and I have only a single lamp that takes that fitting.
While the reviews seems to prefer the Philips, and the costs seemed more favourable, the bridge connects to a router using an ethernet cable, and to the lights wirelessly. I find the need for the cable very annoying!


Around 500 US Personnel Remain in Eastern Syria to Counter Daesh Operations - CENTCOM
Earlier this month, the US announced that it would keep its military presence in Syria despite achieving its stated goal of defeating Daesh*.
US Central Command chief General Kenneth McKenzie stated Saturday that some 500 US personnel still remained in eastern Syria in order to take part in the upcoming anti-Daesh operation in the region.
US President Donald Trump announced early in October his intention to bring the US troops stationed in Syria "back home," though weeks later the US announced they it would keep a small number of troops in the area to "protect the oil fields."
The decision was made amid another noteworthy occasion - the death of former Daesh leader Abu Bakr al-Baghdadi, who blew himself up along with two children on 26 October when he was cornered by the US military in his hideout in northern Syria.
The group confirmed the death of al-Baghdadi, naming Abu Ibrahim al-Hashemi al-Qurayshi their new leader.
*Daesh (also known as IS/ISIS/ISIL/Islamic State) is a terrorist group outlawed in Russia


Write your First mesibo Enabled Application - C/C++
Estimated reading time: 6 minutes- Preparation
- Anatomy
- Android
- iOS
- Javascript
- C++
- Python
- File Transfer
- UI Modules
- Voice and Video Calls
In this part, we will create a simple real-time app using Mesibo C/C++ API. The Mesibo C/C++ SDK allows you to create real-time application on Linux
, Mac OS
, and Raspberry Pi
platforms. Mesio C/C++ API is the low-level API which is extremely powerful, efficient, and light-weight.
Mesibo C/C++ library is available as a shared library(libmesibo.so) which can be seamlessly integrated into any application by compile time linking or by loading it dynamically. You can even use it from other languages of your choice like Python, PHP, Matlab, etc. as all of these languages allow interfacing with C/C++ libraries.
Supported Platforms
- CentOS / RedHat 7.x or above
- Debian / Ubuntu
- Mac OS
- Raspberry Pi
Prerequisites
-
Installed the Mesibo Real-Time C/C++ Library. If not, refer installation instructions here
-
Read the Preparation Guide
-
Read the Anatomy of a Mesibo Application
-
Basic knowledge of writing and compiling C/C++ code
First C/C++ App
Now let’s quickly start coding:
- Open a code editor
- Include
mesibo.h
in your code - Create a class derived from the
CMesiboNotify
class to listen to all the message and call events. - Initialize mesibo using the user token and listener.
#include <mesibo.h>
Below is Mesibo Event Listener
class CNotify : public CMesiboNotify {
IMesibo *m_api;
public:
void set_api(IMesibo *api) {
m_api = api;
}
// You will receive the connection status here
int on_status(int status, uint32_t substatus, uint8_t channel,
const char *from) {
ERRORLOG("===> on_status: %u \n", status);
return 0;
}
// Invoked on receiving a new message or reading database messages
// You will receive messages here.
int on_message(tMessageParams * p, const char *from, const char *data,
uint32_t len) {
int printlen = len;
if (printlen > 64) printlen = 64;
ERRORLOG("===> message received:from %s,of len %d: %.*s\n",
from, len, printlen, data);
return 0;
}
// Invoked when the status of the outgoing or sent message is changed
// You will receive the status of sent messages here
int on_messagestatus(tMessageParams * p, const char *from, int last) {
ERRORLOG(
"===> on_messagestatus status %u from: %s\n",p->status, from);
return 0;
}
};
Following is the Mesibo Initialization code.
#define AUTH_TOKEN 3e7694e19d192588a4ffcb4eab26b6afb3d5aada54bbd41ed140a
#define APP_ID "mycppapp"
IMesibo* mesibo_init(){
// Create a Mesibo Instance
m_api = query_mesibo("/tmp");
// Add Listener
CNotify *n = new CNotify();
m_api->set_notify(0, n, 1);
// Set your AUTH_TOKEN obtained from the Mesibo Console
m_api->set_credentials("3e7694e19d192588a4ffcb4eab26b6afb3d5aada54bbd41edd7140a");
// Set APP_ID which you used to create AUTH_TOKEN
m_api->set_device(1, "cpp", APP_ID, "1.0.0");
// Set the name of the database
if (0 != m_api->set_database("mesibo.db")) {
fprintf(stderr, "Database failed\n");
return NULL;
}
return m_api;
}
Now,after initialization is complete you run Mesibo
m_api->start();
That’s it - you are now ready to receive your first real-time message.
Compiling and Running sample C/C++ application
It is recommended that you use a modern C/C++ compiler such as gcc (GCC-C++ 4.x or above) or clang. You can compile your code by linking the Mesibo Library as shown below:
g++ my_first_app.cpp -o myfirstapp -lmesibo
Run the output executable
./myfirstapp
-
on_status
should cycle through various status information. Finally, you should receive status=1 which indicates that your app is successfully connected to the mesibo real-time server and ready to send and receive real-time messages. -
Since we do not have any other users right now, we will use mesibo console to send a test message. In a later section, we will learn how to send messages from the code itself.
-
Go to Console ->Application->Users. You should see the user you have created.
-
Go to user details by clicking the
Edit
button. Scroll down, you will see a section toMessage User
Enter 1000 (or anything) inFrom
field, checkCreate This User
checkbox, type message and click onSend
.
- You will instantly receive this message in your console/terminal in
on_message
listener.
Sending Messages
In the previous section, we have used mesibo console to send a message. Now we will quickly learn how to send messages from the code itself. To send messages, we will use message
real-time API for which we will need destination user, message-id and the message itself.
Invoke the following function anywhere from your code to send a text message.
int send_text_message(const char* to,const char * message){
tMessageParams p = {};
p.id = m_api->random32();
p.expiry = 3600;
int datalen = strlen(message);
m_api->message(&p, to, message, datalen);
}
That’s it! Try it out by creating two users and send messages to each other by using the above function.
mesibo, android, ios, cpp, c++, c


Donald Trump 'is undergoing medical tests at health centre'
Press secretary Stephanie Grisham said the 73-year-old is "anticipating a very busy 2020" and wanted to take advantage of "a free weekend" in Washington to begin "portions of his routine" check-up
by James Rodger, https://www.facebook.com/jamesrodgerjournalistUS President Donald Trump is undergoing medical tests as part of what the White House said was his annual check-up.
The appointment at Walter Reed National Medical Centre was not on Mr Trump's weekend public schedule that was released on Friday night, and his last physical exam was in February.
Press secretary Stephanie Grisham said the 73-year-old is "anticipating a very busy 2020" and wanted to take advantage of "a free weekend" in Washington to begin "portions of his routine" check-up.
No details of what tests will be carried out were released.
His check-up in February revealed he had put on weight and was officially considered obese, with a body mass index of 30.4.
Mr Trump spent more than four hours at Walter Reed on February 8 for his most recent check-up, supervised by Dr Sean Conley and involving a panel of 11 specialists.
At the time, White House staff said Mr Trump was in "very good health and I anticipate he will remain so for the duration of his presidency".
Test results which came out six days later showed he is obese under the commonly used BMI formula.
About 40% of Americans are obese, which raises their risk of heart disease, diabetes, stroke and some forms of cancer.
Mr Trump does not drink alcohol or smoke. His primary form of exercise is golf.
His latest check-up comes as House investigators on Capitol Hill interviewed a White House budget official as part of the impeachment inquiry.


func GetAllLearntValues() []messages.LearntWithTid
GetAllLearntValues returns a list of all the entries stored in the 'learnt' table. Each entry is mapped onto a LearntWithTid object.
func GetAllProposals() []messages.ProposalWithTid
GetAllProposals returns a list of all the entries stored in the 'proposal' table. Each entry is mapped onto a messages.ProposalWithTid object.
func GetDanglingProposals() *map[int]proposal.Proposal
GetDanglingProposals returns a map of the proposals found in the 'proposal' table whose turn ID does not have an entry 'learnt' table. The map uses the turn ID as the key and a Proposal object as the value.
func GetLastTurnID() int
GetLastTurnID returns the highest turn ID found in the `learnt` table. 0 is returned if table is empty.
func GetLearntValue(turnID int) string
GetLearntValue returns the 'v' field of the 'learnt' table where the field 'turn_id' is equal to @turnID. If no value has been learnt for the requested @turnID, an empty string is returned.
func GetLearntValuesTurnID() *map[int]bool
GetLearntValuesTurnID is a map used as a set, the keys are the turnIDs of the learnt values. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func GetProposal(turnID int) (proposal.Proposal, bool)
GetProposal returns the entry of the 'proposal' table where the field 'turn_id' is equal to @turnID. If the wanted proposal does not exist OR is not valid (i.e. pid and seq are 0) an empty proposal is returned together with a false boolean value. Please note that proposals with @pid or @seq = 0 should not exist, the user should not issue such values. If the wanted proposal exists AND is valid, it will be returned together with a positive boolean value. If the field 'v' is NULL, @v will be assigned the empty string "". The entry will be mapped onto a proposal.Proposal object.
func GetProposalsTurnID() *map[int]bool
GetProposalsTurnID is a map used as a set, the keys are the turnIDs of the proposals we know. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func InitDatabase()
InitDatabase creates tables and columns. Only used for SQLite
func PrepareDBConn()
PrepareDBConn initializes the DB
func RedisGetAllLearntValues() []messages.LearntWithTid
GetAllLearntValues returns a list of all the entries stored in the 'learnt' table. Each entry is mapped onto a LearntWithTid object.
func RedisGetAllProposals() []messages.ProposalWithTid
GetAllProposals returns a list of all the entries stored in the 'proposal' table. Each entry is mapped onto a messages.ProposalWithTid object.
func RedisGetDanglingProposals() *map[int]proposal.Proposal
GetDanglingProposals returns a map of the proposals found in the 'proposal' table whose turn ID does not have an entry 'learnt' table. The map uses the turn ID as the key and a Proposal object as the value.
func RedisGetLastTurnID() int
GetLastTurnID returns the highest turn ID found in the `learnt` table. 0 is returned if table is empty.
func RedisGetLearntValue(turnID int) string
GetLearntValue returns the 'v' field of the 'learnt' table where the field 'turn_id' is equal to @turnID. If no value has been learnt for the requested @turnID, an empty string is returned.
func RedisGetLearntValuesTurnID() *map[int]bool
GetLearntValuesTurnID is a map used as a set, the keys are the turnIDs of the learnt values. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func RedisGetProposal(turnID int) (proposal.Proposal, bool)
GetProposal returns the entry of the 'proposal' table where the field 'turn_id' is equal to @turnID. If the wanted proposal does not exist OR is not valid (i.e. pid and seq are 0) an empty proposal is returned together with a false boolean value. Please note that proposals with @pid or @seq = 0 should not exist, the user should not issue such values. If the wanted proposal exists AND is valid, it will be returned together with a positive boolean value. If the field 'v' is NULL, @v will be assigned the empty string "". The entry will be mapped onto a proposal.Proposal object.
func RedisGetProposalsTurnID() *map[int]bool
GetProposalsTurnID is a map used as a set, the keys are the turnIDs of the proposals we know. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func RedisPrepareDBConn()
func RedisResetAllLearntValues() error
ResetAllLearntValues empties the `learnt` table.
func RedisResetAllProposals() error
ResetAllProposals empties the `proposal` table.
func RedisResetLearntValue(turnID int) error
ResetLearntValue deletes the entry from the 'learnt' table where the field 'turn_id' is equal to @turnID.
func RedisResetProposal(turnID int) error
ResetProposal deletes the entry from the 'proposal' table where the field 'turn_id' is equal to @turnID.
func RedisSetLearntValue(turnID int, v string) (err error)
SetLearntValue inserts/updates an entry in the 'learnt' table where the field 'turn_id' is equal to @turnID. If the requested @turnID does not exist, a new entry is created. If the learnt value for the requested @turnID is already present, it will be overwritten. (why?)
func RedisSetProposal(turnID int, p proposal.Proposal, isAcceptRequest bool) (err error)
SetProposal inserts/updates an entry in the 'proposal' table where the field 'turn_id' is equal to @turnID. If isAcceptRequest is false, only the value "n" (i.e. Pid and Seq) will be overwritten, while "v" will be left untouched. If isAcceptRequest is true, both "v" and "n" will be overwritten by the value requested.
func ResetAllLearntValues() error
ResetAllLearntValues empties the `learnt` table.
func ResetAllProposals() error
ResetAllProposals empties the `proposal` table.
func ResetLearntValue(turnID int) error
ResetLearntValue deletes the entry from the 'learnt' table where the field 'turn_id' is equal to @turnID.
func ResetProposal(turnID int) error
ResetProposal deletes the entry from the 'proposal' table where the field 'turn_id' is equal to @turnID.
func SQLiteGetAllLearntValues() []messages.LearntWithTid
GetAllLearntValues returns a list of all the entries stored in the 'learnt' table. Each entry is mapped onto a LearntWithTid object.
func SQLiteGetAllProposals() []messages.ProposalWithTid
GetAllProposals returns a list of all the entries stored in the 'proposal' table. Each entry is mapped onto a messages.ProposalWithTid object.
func SQLiteGetDanglingProposals() *map[int]proposal.Proposal
GetDanglingProposals returns a map of the proposals found in the 'proposal' table whose turn ID does not have an entry 'learnt' table. The map uses the turn ID as the key and a Proposal object as the value.
func SQLiteGetLastTurnID() int
GetLastTurnID returns the highest turn ID found in the `learnt` table. 0 is returned if table is empty.
func SQLiteGetLearntValue(turnID int) string
GetLearntValue returns the 'v' field of the 'learnt' table where the field 'turn_id' is equal to @turnID. If no value has been learnt for the requested @turnID, an empty string is returned.
func SQLiteGetLearntValuesTurnID() *map[int]bool
GetLearntValuesTurnID is a map used as a set, the keys are the turnIDs of the learnt values. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func SQLiteGetProposal(turnID int) (proposal.Proposal, bool)
GetProposal returns the entry of the 'proposal' table where the field 'turn_id' is equal to @turnID. If the wanted proposal does not exist OR is not valid (i.e. pid and seq are 0) an empty proposal is returned together with a false boolean value. Please note that proposals with @pid or @seq = 0 should not exist, the user should not issue such values. If the wanted proposal exists AND is valid, it will be returned together with a positive boolean value. If the field 'v' is NULL, @v will be assigned the empty string "". The entry will be mapped onto a proposal.Proposal object.
func SQLiteGetProposalsTurnID() *map[int]bool
GetProposalsTurnID is a map used as a set, the keys are the turnIDs of the proposals we know. map[int]interface{} is said to be more efficient than map[int]bool, doesn't really matter.
func SQLiteInitDatabase()
InitDatabase executes the command needed to initialize the database.
func SQLitePrepareDBConn()
func SQLiteResetAllLearntValues() error
ResetAllLearntValues empties the `learnt` table.
func SQLiteResetAllProposals() error
ResetAllProposals empties the `proposal` table.
func SQLiteResetLearntValue(turnID int) error
ResetLearntValue deletes the entry from the 'learnt' table where the field 'turn_id' is equal to @turnID.
func SQLiteResetProposal(turnID int) error
ResetProposal deletes the entry from the 'proposal' table where the field 'turn_id' is equal to @turnID.
func SQLiteSetLearntValue(turnID int, v string) (err error)
SetLearntValue inserts/updates an entry in the 'learnt' table where the field 'turn_id' is equal to @turnID. If the requested @turnID does not exist, a new entry is created. If the learnt value for the requested @turnID is already present, it will be overwritten. (why?)
func SQLiteSetProposal(turnID int, p proposal.Proposal, isAcceptRequest bool) (err error)
SetProposal inserts/updates an entry in the 'proposal' table where the field 'turn_id' is equal to @turnID. If isAcceptRequest is false, only the value "n" (i.e. Pid and Seq) will be overwritten, while "v" will be left untouched. If isAcceptRequest is true, both "v" and "n" will be overwritten by the value requested.
func SetLearntValue(turnID int, v string) (err error)
SetLearntValue inserts/updates an entry in the 'learnt' table where the field 'turn_id' is equal to @turnID. If the requested @turnID does not exist, a new entry is created. If the learnt value for the requested @turnID is already present, it will be overwritten. (why?)
func SetProposal(turnID int, p proposal.Proposal, isAcceptRequest bool) (err error)
SetProposal inserts/updates an entry in the 'proposal' table where the field 'turn_id' is equal to @turnID. If isAcceptRequest is false, only the value "n" (i.e. Pid and Seq) will be overwritten, while "v" will be left untouched. If isAcceptRequest is true, both "v" and "n" will be overwritten by the value requested.


Video recap:
Located near Mammoth, CA, Ansel Adams Wilderness in the Inyo National Forest serves as a great backpacking destination. Starting from Agnew Meadows Trailhead, we followed the High Trail, which is part of the Pacific Crest Trail (PCT), up to Thousand Island Lake, and returned via the John Muir Trail (JMT).
All along this itinerary are many side trails to investigate leading to a number of alpine lakes and diverse terrain. Check out the video below:
0:00 - Day 1 of the itinerary provides scenic views all along the High Trail (part of the PCT). Starting at 7:00 am was nice to (1) beat the crowds and (2) cover the bulk of the uphill while the weather was still chilly.
1:45 - We arrived at Thousand Island Lake by around 11:30 am, so the entire loop is doable in one day, but it was definitely more enjoyable to take our time and camp out one night. After finidng a nice campsite, we just relaxed in the sun and then spent the afternoon walking around the lake and exploring.
3:37 - Day2: Having a long drive ahead of us that night, we started our return to Agnew Meadows via the JMT at around 7:00 am.
4:50 - After hiking over a pass you get a nice panorama view of Garnet lake. Unfortunately after reaching the mouth of Garnet Lake, we followed a side trail that immediately descends to the northeast to link up to River Trail (see map above). We realized it soon enough but didn't want to walk back uphill, so instead of returning via the JMT to Shadow Creek we just followed the River Trail all the way back. The River Trail was still pretty but the views along the JMT seem to be a bit more exciting.


20 February 2003
Disease Outbreak Reported
The Ministry of Health, China has reported that the causal agent for the atypical pneumonia outbreak in Guangdong Province, which affected a total of 305 cases including 5 deaths, was probably caused by chlamydia pneumoniae. Further epidemiological investigations are underway coordinated by the Guangdong provincial health department.


Gatekeeper Bilia:
Hello? I am Bilia, Gatekeeper in the Town of Schuttgart. If you want to use the gate, you need to first open the portal. I'll do my best to help you arrive at your destination safely and quickly.
If you've decided on your destination, I'll teleport you.
Teleport
Exchange Dimension Diamonds.
[Noblesse Exclusive] Teleport
Move to the Arena & Monster Race Track (Free).
Move to Fantasy Isle (free).
Quest


This repeater will not get the default content.
Content
But these two will
This one will automatically get a separator
|
This will have some generated content
Something
Separator


Destination: Nowhere is an outdoor travel company dedicated to taking you to the most beautiful and remote places on the planet. Our exclusive range of camping holidays across 20 different countries worldwide. Whether you want to cycle in Sweden, trek in Tibet or camp in Canada, we've got you covered. Our dedicated team have travelled the world to discover the best kept secrets and hidden gems out there, and with our knowledge, we can create your tailor-made trip of a lifetime. Our camp destinations are exclusive to Destination: Nowhere, and created to be away from the hustle and bustle of modern life. Get back to nature and let us take you into the wild.


I'm an aspiring data scientist with 7 years of experience in financial technology, and though my career is still relatively young, I've already spent a great deal of time working with a variety of different types of data to achieve a wide array of desired solutions. Whether it be back-testing new investment theses on historical market returns, breaking down commissions or PnL by sector/trader, or querying CRM-related data to understand how sales staff can best use their time, I've seen firsthand the importance of data, the insights that we can extract from it, and the value that those insights can deliver to a firm's bottom line.
Apart from being an aspiring data scientist, in my spare time I love to play the guitar and ukelele. I also enjoy reading, running, rock climbing, playing video games, and watching sports.
I'd like to think I'm a fun-loving, personable guy. I'm very intellectually curious and love learning about a variety of subjects. I like to find new ways to challenge myself and am always looking to gain new perspective on life. To that end, I believe data, and the analysis we can draw from it, can and will drive significant change in the world for the foreseeable future. I'm really excited about the prospect of getting to switch gears in my career and learn as much as I can about data science!


{{ page.title }}
We are a company that specializes in practical, yet scalable, enterprise open source development. Our niche is helping early startups or established companies optimize their development process through lean strategies, transparent understanding, specialized education, threat modeling, performance tuning, consultative analysis and proven recipes. We are also experts in developing web applications, web services, and micro-service architectures for mobile, office, or network consumption either internal or client-facing.
CI Wise Inc. was formed on March 19, 2015 by David L. Whitehurst and Patricia R. Whitehurst as a corporation with the state of North Carolina. The company is located just south of downtown Raleigh, North Carolina. And, while the Raleigh/Durham/Research-Triangle area continues to be a technological growth area, CI Wise aims to provide leadership in the technology space here.


Company and organisation
To modify the company information, click on the parameter to modify. The modification will be automatically
saved.
| Company name |
Niger |
| Adress |
Niger |
| Zip code |
Niger |
| City |
Niger |
| Country |
Niger |
| Departement |
Niger |
| Main currency |
Niger |
| Phone |
Niger |
| Fax |
Niger |
| Mail |
Niger |
| Website |
Niger |
| Logo |
Niger |
| Name of de manager(s)(president, ceo, director) |
Niger |
| Capital |
Niger |
| Legal form |
Niger |
| professional identifier 1 |
Niger |
| professional identifier 2 |
Niger |
| professional identifier 3 |
Niger |
| professional identifier 4 |
Niger |
| professional identifier 5 |
Niger |
| professional identifier 6 |
Niger |
| vat number |
Niger |
| Departement |
Niger |
| Main currency |
Niger |
| Phone |
Niger |
| Fax |
Niger |
| Mail |
Niger |
| Website |
Niger |
| Logo |
Niger |
| activity start month |
January |
| Name of de manager(s)(president, ceo, director) |
Niger |
| Capital |
Niger |
| Legal form |
Niger |
| professional identifier 1 |
Niger |
| professional identifier 2 |
Niger |
| professional identifier 3 |
Niger |
| professional identifier 4 |
Niger |
| professional identifier 5 |
Niger |
| professional identifier 6 |
Niger |
| vat number |
Niger |
| Departement |
Niger |
| Main currency |
Niger |
| Phone |
Niger |
| Fax |
Niger |
| Mail |
Niger |
| Website |
Niger |
| Logo |
Niger |


Career Profile
Ambitious, intelligent and analytical computing student with exceptional problem solving skills. Employed by one of the Asia most popular e-business companies - StrawberryNet. Technically proficient in App & Website Design and Coding
Experiences
- Develop new features and maintain our high performance server-side software, API and administration user interface
- Design Project Function & Database Design
- First Intern of Engineering Team
- Contribute to the design, development and overall direction of DASH 2.0
- Develop new features and maintain our high performance server-side software, API and administration user interface
- Help to shape and continuously improve our engineering processes and practices
- Contribute to the design, development and overall direction of products
- Develop new intelligent feature of the website
- Develop a new mobile apps with material Design
- Mind new solution to improve performance
- Develop web based payroll system to save the human resources
- Improve the management of annual leave process
- Develop intelligent feature for human resource process
- Provide customize e – human resource system for different company
- Develop Local Report System though using RDLC
- Participate in Develop Business Intelligence Software by Qlikview
- Participate in Database Management
Projects
Here is my project done at school.
A BlockChain Health Record System to minimize the underwrting process of insurance through use mobile app Create At Amazed Hackathon
A responsive website template designed to help web developers/designers market their services.
Unify is a social networking application for students to enjoy their University lives. The application has a lot of functions, including "The Five Things" (Hall life, studys, relationships, part-time jobs, and societies) students need to do in their teenage lives. Hope you can enjoy and have fun in our application. Thank you.
Path is an education type of system helping Non Jupas System can more easy to get into Univeristy though data analysis by historical data.


Toggle navigation
ogajayy
Home
My Portfolio
Contact
Gallery
Vid Gallery
(current)
Who is Oga You Ask?
ya'at'eeh! my name is oga john
i love to laugh and learn
i am a mother
to an awesome 11 year old
named makai
my life, my love, my heart
my backyard...canyon de chelly
my
home (nazlini) & family
my art
project handbag
my culture
my past
the light of my future
tie project
motivation
inspiration


- To insert a new contact: Click the New Contact button, complete the form fields, and then click the Save button. Notice that both the All Contacts and Audit Records tables are updated.
- To modify an existing contact: Find the name in the All Contacts table and click the Select for edit button. Modify the data and then click the Save button. Notice that the Audit Records table is updated with the new contact data.
- To remove a contact: Find the name in the All Contacts table and click the Remove button. Notice that the Audit Records table is updated with the new contact data.
*Note: To fire the UPDATE audit, you must change one of the contact fields
All Contacts
Id
#{varContact.id}
Name
#{varContact.name}
email
#{varContact.email}
Phone Number
#{varContact.phoneNumber}
Operations
Audit Records
Contact e-Mail
#{varAudit.contactEmail}
Contact Name
#{varAudit.contactName}
Contact Phone
#{varAudit.contactPhone}
Date/Time
Operation
#{varAudit.operation}


Money Play. How should Red play 32?
pips Red=39 White=37
(CorrectAnswer= 0/0, ErrorScore= 0)
5/off is an error. The correct play is 6/3, 4/2 unstacking both the heavy points, filling two gaps and leaving good fives.
As a quiz problem this is not too difficult – the key is to get it right over the board and not play 5/off too quickly. 5/off cost 2% game-winning chances.
As a quiz problem this is not too difficult – the key is to get it right over the board and not play 5/off too quickly. 5/off cost 2% game-winning chances.
1. Cubeful 2-ply 6/3 4/2 Eq.: -0.006 0.434 0.000 0.000 - 0.566 0.000 0.000 2. Cubeful 2-ply 4/2 4/1 Eq.: -0.056 (-0.049) 0.414 0.000 0.000 - 0.586 0.000 0.000 3. Cubeful 2-ply 5/off Eq.: -0.057 (-0.051) 0.414 0.000 0.000 - 0.586 0.000 0.000 4. Cubeful 2-ply 6/1 Eq.: -0.082 (-0.076) 0.401 0.000 0.000 - 0.599 0.000 0.000 5. Cubeful 2-ply 6/4 6/3 Eq.: -0.084 (-0.077) 0.401 0.000 0.000 - 0.599 0.000 0.000


Inspired by the 3-body problem in physics, this virtual cell laboratory explores a tunable multicellular system with 3 interacting cell types. Similarly to the 3-body problem, simple cell-cell interactions can lead to complex emergent dynamics, including cooperativity, competition, oscillations, and chaotic phenomena.
This virtual cell lab lets you broadly explore the effects of your assumptions of how cells affect one another to drive the emergent multicelular dynamics.
Each cell's behavior can be influenced by a combination of environmental signals:
In the visualization, each live cell fluoresces proportionally to its expression (secretion) of its signal.
Each cell can individually modulate several key behaviors, under the influence of R, α, β, γ, and p.
The cell division rate increases as R increases. The signals α, β, and γ can individually inhibit, promote, or be neutral towards division. High pressure can inhibit proliferation. (These are set in the User Params tab.
The signals α, β, γ, and R can individually inhibit, promote, or be neutral towards death. High pressure can promote apoptotic death. These are set in the User Params tab.
Necrotic death can occur when the resource R falls below a threshold, increasing towards a maximum rate. The maximum necrotic death rate is set in the Cell Types tab, and the resource threshold is in the User Params tab.
Cells secrete their respective signaling factor. The signals α, β, γ, and R can individually inhibit, promote, or be neutral towards this secretion. This is set in the User Params tab.
Cells can perform a biased random migration (with varying bias, speed, persistence time, and direction. (See the interactive tutorial at trmotility.) In this framework, cell motility can be purely Brownian (no migration bias direction), or biased up or down the gradient of R, α, β, or γ. The base motiltiy parameters are set in the Cell Types tab.
Cells adhere to one another based on the parameters in the Cell Types tab.
Cells resist deformation by imposing a ``repulsive'' force against other cells. Summing up these forces gives the (dimensionless) pressure p Set parameters in the Cell Types tab.
We track the balance of inhibition and promotion of each key behavior (a model parameter) as follows:
For example, suppose the cell divides at a maximum rate rmax = 0.0072 min-1
with base rate r0 = 0.00072 min-1, that signal α is a promoter, and
signals β and γ are inhibitors. Then (with default parameters):
r = [ 0.00072 + 0.00648 × [ α5/(α5+0.15) ] ] ×
[ 1-(β+γ)5/( (β+γ)5+0.15 ) ]
Notice that any single promoter is sufficient for up-regulation, and adding more promoters increases the effect. (Same for inhibitors.) When there are both inhibitors and promoters, it is the balance that drives behavior.
Click here for an up-to-date list of interesting parameter sets and suggested model exploration.
If you see something interesting, please share the results! We'll help the community see what happen so all can learn!
Please use this webform for reporting:
This model and cloud-hosted demo are part of a course on computational multicellular systems biology created and taught by Dr. Paul Macklin in the Department of Intelligent Systems Engineering at Indiana University. It is also part of the education and outreach for the IU Engineered nanoBIO Node and the NCI-funded cancer systems biology grant U01CA232137. The models are built using PhysiCell: a C++ framework for multicellular systems biology [1].
Modify parameters in the "Config Basics", "Microenvironment", or "User Params" tabs. Click the "Run" button once you are ready.
To view the output results, click the "Out: Plots" tab, and move the slider bar to advance through simulation frames. Note that as the simulation runs, the "# cell frames" field will increase, so you can view more simulation frames.
If there are multiple substrates defined in the Microenvironment, you can select a different one from the drop-down widget in the Plots tab. You can also fix the colormap range of values.
Note that you can download full simulation data for further exploration in your tools of choice. And you can also generate an animation of the cells to play in the browser and, optionally, download as a video.
This model and cloud-hosted demo are part of the education and outreach for the IU Engineered nanoBIO Node (NSF 1720625), an NSF synthetic biology grant (NSF 1818187), and the NCI-funded cancer systems biology grant U01CA232137. The models are built using PhysiCell: a C++ framework for multicellular systems biology [1] for the core simulation engine and xml2jupyter [2] to create the graphical user interface (GUI).


[[col.title]]
[[col.points]]
Scoreboard
|
Slide ID |
Terms |
Reading |
Lecture |
Bonus |
Total |
| Points Attempted |
[[points.slide.attempted]] |
[[points.terms.attempted]] |
[[points.reading.attempted]] |
[[points.lecture.attempted]] |
[[points.bonus.attempted]] |
[[points.total.attempted]] |
| Points Earned |
[[points.slide.earned]] |
[[points.terms.earned]] |
[[points.reading.earned]] |
[[points.lecture.earned]] |
[[points.bonus.earned]] |
[[points.total.earned]] |
| Category Percentage |
[[points.slide.percent]] |
[[points.terms.percent]] |
[[points.reading.percent]] |
[[points.lecture.percent]] |
[[points.bonus.percent]] |
[[points.total.percent]] |
Points Remaining to Attempt: [[remainingAttempts]]


--- layout: post title: A Rubyish DSL for Logic Programming post_id: 171 categories: - announcements date: 2006-11-06 11:37:00.000000000 -07:00 author: Jamis permalink: 2006/11/6/a-rubyish-dsl-for-logic-programming.html ---
Alright, I had a rather productive weekend. After mentioning in my post about Prolog in Ruby that it would be nice to have a more Rubyish implementation, I started hammering away on an implementation of my own.
The result:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
db = KBase::Database.new do + X.is_sibling_of(Y).if { Z.is_parent_of(X) & Z.is_parent_of(Y) & X.is_not(Y) } + X.is_parent_of(Y).if { X.is_father_of(Y) } + X.is_parent_of(Y).if { X.is_mother_of(Y) } + jamis.is_father_of(kaitrin) + jamis.is_father_of(nathaniel) end result = db.query { nathaniel.is_sibling_of(X) } puts "querying #{result.goal}..." result.each do |solution| puts "solution:" solution.bindings.each do |variable, value| puts " - #{variable}: #{value}" end end puts "no solutions!" if result.empty? |
The output from the above program:
1 2 3 4 5 |
$ ruby resolver.rb querying nathaniel.is_sibling_of(X)... solution: - X: kaitrin $ |
I’ll be cleaning it up next, and will write about the implementation of the DSL. It was a fun project! Honestly, though, the DSL was the easy part…the hard part was getting the prolog-like matching and backtracking working. It’s still not perfect, but it works for queries like the above.


Just Pick One!
A Lebron James Quiz
START
NEXT
SUBMIT
Try Again!
Add a question
Do you have more facts about Lebron? Add a question to the quiz
Question:
Answer 1:
Check if correct answer
Answer 2:
Check if correct answer
Answer 3:
Check if correct answer
Answer 4:
Check if correct answer


AL 33 DI VIA OROLOGIO FA SEMPRE FREDDO (BEYOND THE DOOR II) A film review by Mike Watson Copyright 1997 Mike Watson
(released in Europe as SHOCK)
DIRECTED BY: Mario Bava SCREENPLAY: Lamberto Bava & Francesco Barbieri STARRING: Daria Nicolodi, John Steiner, David Colin Jr. RATING: 4 out of 5
The Grandfather of Italian Horror the late Mario Bava has credits in nearly 100 films and TV movies produced in Italy between 1939 and his death in the early 80's.
Alongside the appalling zombie schlock of hacks like Lucio Fulci, BEYOND THE DOOR II is simply a revelation. In his day Bava was considered by most to be no great filmmaker, yet here he fashioned one of the finest Italian horror movies of the 1970's. (Note that the film has no connection with the 1975 Exorcist-rip off BEHIND THE DOOR, but for some unexplained reason was given this related title for release in the USA and Australia.)
This story focuses on Dora, a women set upon by a malevolent spirit that channels itself through her young son Marco. The film opens with Dora, her son and second husband Bruno returning to a house by the sea that was the scene of her first husband's suicide and her subsequent trauma 7 years earlier. They hope to put the past behind them, but as small accidents start to befall Dora - usually while Bruno is away on business - she starts to suspect that Marco (played with uncanny ability by 8 year old David Colin Jr.) is somehow involved in the strange goings on.
To reveal any more of the story would be unfair. Suffice to say that this artfully paced study of a woman suffering a nervous breakdown offers an intriguing plot, loads of atmosphere and solid acting, though the dialogue is somewhat weakened by the dubbing into English. Bava coaches a surprisingly good performance from the usually wooden Daria Nicolodi, wife of famed Italian horror director Dario Argento. Her character is invested with sufficient depth to allow the audience real empathy with Dora's troubled soul. The music by Italian ensemble Libra is also effective, mixing odd-sounding 70's rock with classic Gothic piano sequences. And there is at least one moment - brilliantly engineered by Bava - that is guaranteed to lift you ten feet out of your chair.
Yet for Italian horror, the bloodletting here is surprisingly minimal. Lamberto Bava and Francesco Barbieri's script is more concerned with deeper, psychological terrors, with themes of guilt and suffering, with the notion that what we sow will shall - somewhere, somehow - eventually reap. Scholars of the genre take note: BEYOND THE DOOR II is stylish, chilling, and essential.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Code Snippets
Heres a thing I came up with. Lot's of reusable code snippets from different languages. Visitors may contribute by adjusting my snippets or even submitting your snippets to be published here. Creative ideas are always welcome.
Time ago function | [PHP]
Menu button animation | [HTML, CSS, JS]
Stripes | [CSS]
PDF Viewer | [HTML, PHP]
Basic Cart [FIXED] | [HMTL, PHP]
5 Star Rating | [HMTL, CSS]
Fontawesome 5 Star Rating | [HMTL, CSS, FONTAWESOME]
More coming soon...


#include <string_symbol.h>
Data Fields | |
| char * | name |
| unsigned int | hash_val |
| void * | data |
| STRING_Symbol_Table * | table |
| STRING_Symbol * | next_hash |
| STRING_Symbol * | prev_hash |
| STRING_Symbol * | next_symbol |
| STRING_Symbol * | prev_symbol |
Definition at line 66 of file string_symbol.h.
| void* STRING_Symbol::data |
Definition at line 70 of file string_symbol.h.
Referenced by STRING_add_symbol(), STRING_delete_symbol(), STRING_delete_symbol_table(), and STRING_find_symbol_data().
| unsigned int STRING_Symbol::hash_val |
Definition at line 69 of file string_symbol.h.
Referenced by STRING_add_symbol(), STRING_delete_symbol(), STRING_find_symbol(), STRING_find_symbol_data(), and STRING_resize_symbol_table().
| char* STRING_Symbol::name |
Definition at line 68 of file string_symbol.h.
Referenced by STRING_add_symbol(), STRING_delete_symbol(), STRING_delete_symbol_table(), STRING_find_symbol(), STRING_find_symbol_data(), and STRING_print_symbol_table_hash().
Definition at line 72 of file string_symbol.h.
Referenced by STRING_add_symbol(), STRING_delete_symbol(), STRING_find_symbol(), STRING_find_symbol_data(), STRING_print_symbol_table_hash(), and STRING_resize_symbol_table().
Definition at line 74 of file string_symbol.h.
Referenced by STRING_add_symbol(), STRING_delete_symbol(), STRING_delete_symbol_table(), and STRING_resize_symbol_table().
Definition at line 73 of file string_symbol.h.
Referenced by STRING_delete_symbol(), and STRING_resize_symbol_table().
Definition at line 75 of file string_symbol.h.
Referenced by STRING_add_symbol(), and STRING_delete_symbol().
Definition at line 71 of file string_symbol.h.
Referenced by STRING_add_symbol(), and STRING_delete_symbol().


INI
Namespace: MordhauBuddy.Core
Parent Module: BridgeOperations
Attributes:
[<RequireQualifiedAccess>]
INI related bridge commands
Functions and values
| Function or value | Description |
INI.backup(iFile)
Signature: iFile:INIFile -> bool
|
Create a backup of a file by putting it into a subdirectory |
INI.cleanBackups bSet iFile
Signature: bSet:BackupSettings -> iFile:INIFile -> unit
|
Clean backup files based on given policy |
INI.custom profiles iVal fVals
Signature: profiles:string list -> iVal:INIValue -> fVals:string -> INIValue option
|
Set the profiles to a custom import string if they are within the given |
INI.defDir()
Signature: unit -> string option
|
Try to locate the default Mordhau configuration directory |
INI.delete oVal selectors
Signature: oVal:INIValue -> selectors:string list -> INIValue
|
Delete contents of oVal that match selectors |
INI.exists(iFile)
Signature: iFile:INIFile -> bool
|
Determine if a file exists |
INI.frankenstein profiles iVal
Signature: profiles:string list -> iVal:INIValue -> INIValue option
|
Frankenstein the profiles if they are within the given |
INI.getConfigs(...)
Signature: engine:INIValue -> gameUser:INIValue -> input:INIValue -> options:OptionGroup list -> OptionGroup list
|
Get the configurations set in the two INIValues if present |
INI.mapConfigs(...)
Signature: engine:INIValue -> gameUser:INIValue -> input:INIValue -> options:OptionGroup list -> INIValue option * INIValue option * INIValue option
|
Apply the new values into the two INIValues or add them |
INI.parse(iFile)
Signature: iFile:INIFile -> INIValue option
|
Try to open and parse a ini file |
INI.profileList(iVal)
Signature: iVal:INIValue -> (string * string) list
|
Get the profiles within the given |
INI.random profiles iVal
Signature: profiles:string list -> iVal:INIValue -> INIValue option
|
Ranomize the profiles if they are within the given |
INI.replace oVal iVal selectors
Signature: oVal:INIValue -> iVal:INIValue -> selectors:string list -> INIValue
|
Replace the oVal with iVal based on selectors |
INI.write iFile iVal
Signature: iFile:INIFile -> iVal:INIValue -> bool
|
Write an |


Can't pull command-t repository anymore…
-
anonymous
…because I get
`fatal: The remote end hung up unexpectedly`
Is there anything I can do?
My .git/config is
$ cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git://git.wincent.com/command-t.git [branch "master"] remote = origin merge = refs/heads/master
-
Greg Hurrell
Not sure what was wrong, I restarted
xinetd
and all is well again. Thanks for bringing that to my attention.If it ever goes down again, there are also mirrors of the official repo here:
- git://github.com/wincent/Command-T.git
- git://gitorious.org/command-t/command-t.git
-
gio
Hi,
thanks, that fixed it! I'll write the mirrors down in my .git/config
Giovanni
Reply
This topic is now closed.


Alex Smith’s Wife Posts Uplifting 1-Year Anniversary Video of Him Running, Training After Suffering Broken Leg (VIDEO)
by Darrelle LincolnIt’s been 365 days since Alex Smith’s world came crashing down when he suffered a gruesome broken leg against the Houston Texans during the 2018 season.
On the one-year anniversary of the Washington Redskins serious injury, the QB’s wife took to Instagram and posted an uplifting video showing the 35-year-old running and training.
Alex Smith remains on the Redskins’ Physically Unable to Perform list but has made it clear he wants to play football again.
“Stuff happens to everybody – life happens. I feel like for me this is a time for me to be tested and I have this challenge in front of me and how can I handle it,” Alex Smith told FOX 5 during the summer.
The video above shows Smith weight training, and working on his three-step drop and sprinting on a treadmill.
The Redskins were 6-3 when he Smith broke his right tibia and fibula on a sack by Kareem Jackson. The Redskins haven’t been the same since.


Gateway
BOT
13-Apr-19 02:00 PM
[dscrd-hush] <Matthias> Great work @dukeleto ! So from an address standpoint, is Hush going to become a fork or a "token" of KMD? i.e. can one send Hush to a KMD address?
[dscrd-hush] <dukeleto> @Matthias if you own an address on the new HUSHv3 chain, you also own that address on KMD and all KMD asset chains
[dscrd-hush] <dukeleto> because of how BTC pubkeys work
[dscrd-hush] <dukeleto> your HUSHv2 pubkey can be imported to KMD, that is how you unlock your funds on the new chain
[dscrd-hush] <dukeleto> basically, everybody is taking their same pubkey and using that on a new KMD-flavored chain, which is why the address format changed to R....
[dscrd-hush] <dukeleto> Hush is a source code fork of Komodo and an asset chain, with it's own genesis block. It's not a chain fork.
[dscrd-hush] <dukeleto> closest similar thing is VRSC
[dscrd-hush] <dukeleto> I wouldn't describe Hush as a "token" because it's mineable
[dscrd-hush] <dukeleto> You can take any BTC-style pubkey and import that into any cryptocoin and you will own the equivalent address
[dscrd-hush] <dukeleto> it looks different because of "prefixes" that go before the base58() is taken
[dscrd-hush] <Matthias> Ok so if I already have a KMD address, I would be able to send Hush on there?
[dscrd-hush] <ComputerGenie - ChickenPool> yes
[dscrd-hush] <ComputerGenie - ChickenPool> all R type addressed carry across Komodo and almost all assetchains
[dscrd-hush] <dukeleto> @Matthias if you have a KMD address already, you own the privkeys, then you can send to that same address on HUSH. And once you import the privkey to the HUSH chain, you will see those funds


The purpose of this book provide an overview the Javascript Programing Language
JavaScript is the programming language of HTML and the Web. W3schools Tutorial JavaScript is easy to learn programing language. In this tutorial will show some examples of JavaScript Programing Language from basic to advanced level. I have divided some topics:
JavaScript is the world's most popular programming language and JavaScript is easy to learn. JavaScript is the programming language of the Web.
Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web. JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it for client-side page behavior, and all major web browsers have a dedicated JavaScript engine to execute it.
Before 2015, we are using the var keyword was the only way to declare a JavaScript variable.
but after the 2015 version of JavaScript (ES6 - ECMAScript 2015) allows the use of the const keyword to define a variable that cannot be reassigned, and the let keyword to define a variable with restricted scope.
In this example, x, y, and z, are variables, declared with the var keyword:
After the version 2015
JavaScript strings are used for storing and manipulating text values.
You can use single or double quotes for defination value
An array is a special variable, which can hold more than one value at a time.
If you have a list of items (a list of car names, for example), storing the cars in single variables could look like this:
Loops are handy, if you want to run the same code over and over again, each time with a different value. Often this is the case when working with arrays:
This is how it works:
The switch expression is evaluated once.
The value of the expression is compared with the values of each case.
If there is a match, the associated block of code is executed.If there is no match, the default code block is executed.
When JavaScript reaches a break keyword, it breaks out of the switch block (Exit of block)
A JavaScript function is defined with the function keyword, followed by a name, followed by parentheses ().
Function names can contain letters, digits, underscores, and dollar signs (same rules as variables).
The parentheses may include parameter names separated by commas: (parameter1, parameter2, ...)
Objects are very important programign in JS.
In JavaScript, almost "everything" is an object like
Booleans, Strings, Dates, Functions ,Arrays , ..etc.
I have explaned and compare Json to XML. If you want to read this post please clikck this link:
Json is a format transporting datas. Json is usually used when datas are sent from server to web site.
JSON = JavaScript Object Notation JSON is a lightweight data interchange format
JSON VALUES:
With the object model, JavaScript gets all the power it needs to create dynamic HTML:
JavaScript can change all the HTML elements in the page
JavaScript can change all the HTML attributes in the page
JavaScript can change all the CSS styles in the page
JavaScript can remove existing HTML elements and attributes
JavaScript can add new HTML elements and attributes
JavaScript can react to all existing HTML events in the page
JavaScript can create new HTML events in the page


The play opens with the entrance of the monk accompanied by a nohkan solo. The nohkan player performs the solo in a plain fashion, which underlines the modesty of the monk, and introduces the play’s lighter tone. The monk's monochromatic costume gives an sense of subdued and subtle elegance.
The simple instrumentation of this unmetered melody, the absence of text, and the to-be-expected simple walk-in of the actor provides this shōdan with the play's lowest Intermedia Index, a common way of starting the first shōdan of a play’s first dan.
It is the nohkan player’s responsibility to loosely adapt the pacing of the melody to the waki’s walking speed so that the conclusion of the entrance music coincides with the waki’s final kata : the .


Introduction
Specifications ⇪
- Capture and introspect Webgl frames
- Shader Visualizer
- Full context information
- Heuristic based analytics
- Visual State
- Browser extension
- Easy to embed
- Stack trace
- Export import captures
- Web VR
- Works on all WebGL platforms and Engines


Happy Potter
Gallery
About
Form
Form
Light, Movement, Textures
Light
Light
+
Movement
Movement
+
Movement
+
Texture
Texture
+
Texture
+


A wrapper function for addPerCellQC. Calculate general quality control metrics for each cell in the count matrix.
runPerCellQC( inSCE, useAssay = "counts", collectionName = NULL, geneSetList = NULL, geneSetListLocation = "rownames", geneSetCollection = NULL, percent_top = c(50, 100, 200, 500), use_altexps = FALSE, flatten = TRUE, detectionLimit = 0, BPPARAM = BiocParallel::SerialParam() )
| inSCE | Input SingleCellExperiment object. |
|---|---|
| useAssay | A string specifying which assay in the SCE to use. Default |
| collectionName | Character. Name of a |
| geneSetList | List of gene sets to be quantified. The genes in the assays will be matched to the genes in the list based on |
| geneSetListLocation | Character or numeric vector. If set to 'rownames', then the genes in 'geneSetList' will be looked up in |
| geneSetCollection | Class of |
| percent_top | An integer vector. Each element is treated as a number of top genes to compute the percentage of library size occupied by the most highly expressed genes in each cell. |
| use_altexps | Logical scalar indicating whether QC statistics should be computed for alternative Experiments in x. If TRUE, statistics are computed for all alternative experiments. Alternatively, an integer or character vector specifying the alternative Experiments to use to compute QC statistics. Alternatively NULL, in which case alternative experiments are not used. |
| flatten | Logical scalar indicating whether the nested DataFrame-class in the output should be flattened. |
| detectionLimit | A numeric scalar specifying the lower detection limit for expression. |
| BPPARAM | A BiocParallelParam object specifying whether the QC calculations should be parallelized. |
A SingleCellExperiment object with
cell QC metrics added to the colData slot. If geneSetList
or geneSetCollection
are provided, then the rownames for each gene set will be saved in metadata(inSCE)$scater$addPerCellQC$geneSets
.
data(scExample, package = "singleCellTK") mito.ix = grep("^MT-", rowData(sce)$feature_name) geneSet <- list("Mito"=rownames(sce)[mito.ix]) sce <- runPerCellQC(sce, geneSetList = geneSet)#>


Results of Skia Tryserver Run
RenderPictures args: --test1=test --test2=test --test3
NoPatch render_pictures run with GPU: False
WithPatch render_pictures run with GPU: True
To view all 7 failing files click here.
| Worker |
Total failing files |
| worker1 |
2 |
| worker2 |
1 |
| worker3 |
4 |


As electric trolley cars became more popular, streets were renovated to include more rails. Images courtesy of University of Utah's Marriott Library Special Collections