“Art is a lie that makes us realize truth.”
Picasso’s famous words were among those jumbling in my head while watching Super Bowl commercials this year. That’s right, my boyfriend was watching football; I was watching commercials. Anyway, Liam Neeson had me in stitches when he said, “BigBuffetBoy85, I’m coming for you, with lots of barbarians and dragons.” Hilarious for riffing off his Taken franchise persona to sell Clash of Clans to a new audience, but also, well, awkwardly, nervously funny because this made-up marketing scenario tapped into something deeper, something that hit me close to home.
What is real? I’ve been thinking about this a lot lately. From the tired false dualism of real versus virtual (Nathan Jurgenson has some great reflections on this) to the near fetishization of F2F (face-to-face) relationships, I’m pretty tired of the whole conversation. I get it, you like to see the person you’re talking to. Maybe you read an article somewhere about the importance of nonverbal communication.
But to assume that someone is being more “real” with you because they are sitting across from you “in-the-flesh” is bogus, as anyone who has ever dated could attest. Or to argue that I can’t really know how my friends are doing because they’re only thumbing text messages to me is ludicrous; I could shock you with what I pick up on through the cadence of text-and-response, attention to tipos (that’s a joke, by the way), syntax, grammar, etc.
Anyway, all of this is what was brought to a head by Liam Neeson geeking out about Clash of Clans. The line was being flirted with: Is he just really into this mobile game (and is such devotion possible to a click-and-wait game, the world wants to know), or is he shading a little Taken-style sociopathic and in danger of doing some Gamergate-esque harassment?
The ad is funny (and lies, I assume), but points to a serious truth.
The Gamergate fiasco has been going on for the better part of a year now and has become almost an old punch line for some folks, namely anyone who hasn’t been a victim. But the reality is that women were harassed before Gamergate; women have been harassed online as long as there has been an online. I get it all the time, not as bad as some maybe, but that doesn’t make it any less unpleasant or dangerous.
I’m on social media like everyone in my generation, but the real problem place for harassment is in games.
I’ve been an MMORPG fan since Guild Wars in my teenage years. I really like taking the role of “Tank” in raiding parties. Why yes, thank you, I’ll stay in the middle of the fray and take the bulk of damage dealt; I’m tough like that. Until you pass me on the sidewalk in physical space, a tiny young woman who looks even younger than she is. Well, I’m tough, and I’m going to tank, so get over it. So, what is real about me? My physical appearance? My personality and attitude? My in-game skillset? Tell me, am I a pixie or a tank?
In my current MMORPG of choice, Elder Scrolls Online, there’s a special heavy armor set called “Alessia’s Bulwark.” I love that the best armor in the game for the beefiest player role is named for a woman. I’ve been crafting everything in this set and like to imagine myself embodying the spirit of Alessia when I quest in her gear. It’s almost a ritual of protection, to toughen up to play the game and endure the harassers.
This took on new significance about six months ago, the beginning of December, when my friend Kate committed suicide. We hadn’t yet met in physical space, but we’d been frequent quest-mates for almost a decade (half my life). Like me, Kate got harassed regularly. But unlike me, she fought back in social media and discussion boards. Guys don’t appreciate that, and someone doxxed her (publicly posted her home address, email, and mobile phone number). The ensuing flood of vitriol and scary stalking crushed her. She had battled depression as long as I’ve known her, and she didn’t have the support network around her to cope, so she ended it in the one way she felt like she could.
So, what is real? Are the things said online real?
A bunch of us guild-mates sent flowers to Kate’s physical-space memorial service, and we set up a special event in-game, at the Alessia’s Bulwark area, to have a moment of silence in remembrance of her. It was huge and beautiful, and Kate’s mom was even able to attend through a guild-mate who lived close to her (she watched on the screen over his shoulder). I wept through the whole thing.
So, what is real? Is this outpouring of love real?
(I should also note that none of her classmates from her religious private school attended her memorial; in fact, plenty of them had bullied her on a regular basis.) Let’s not be quick to write off relationships or communication in certain media and spaces. It might be different, and most likely is different, but let’s refrain from naming it better or worse. Physical space is the norm but incredibly uncomfortable and awkward for some people; the nonverbal cues that many find so helpful, others find debilitating for one reason or another. Digital space is an alternative, an approach from another angle, a new onramp to social settings. Maybe we could celebrate the fact that there are now more avenues for opening up than ever before.
Being real in physical spaces often comes with baggage.
I remember my first full day on campus as a freshman. I went to the Student Center to check my mailbox, and as I exited the mailroom, I rounded the corner into what can only be described as a tidal wave of supermodels. In reality it was a group of sorority sisters who had finished lunch and were heading back to classes. But all I could process in that moment was how impossibly tall and skinny and perfectly coiffed they all were, accompanied by the requisite aura of confidence. Supermodels.
Since Liam Neeson started messing with my life, I’ve thought back to that first visceral intersection with the Greek system. Today, I’m much less awestruck. Sure, they’re measurably a lot taller than me, but I still get to ask, “What is real?” Are these women everything that meets the eye on their immaculate surfaces, or is there something deeper? What’s actually going on for them and all the other cool kids?
A few weeks after the Super Bowl ad epiphany I decided I wanted to know; I wanted to experience walking through the Student Center in their shoes. So I borrowed a pair of their shoes. No really, I did; my neighbor across the hall in my dorm is a Tri Delt. I perched higher upon heels than I ever had before. I wrangled my hair to look civilized, trendy even. I put on makeup for the first time since my Junior Prom. I borrowed what I had formerly dismissed as “sexy clothes.” And off I went to check my mail in the mailroom.
It was weird. I’m used to wandering about with a certain degree of anonymity. This day though, I felt like all eyes were on me. I saw myself as strangers saw me; I felt obligated to straighten my posture, put on a slight smile, and stride purposefully. I was being noticed; I needed to project confidence. Who was this new girl and what had she done with the real me?
But then again, who is the real me? I had just accidently empathized a day in my life, and it was messing with my neat categories. No answers, just more questions.
Besides the tidal wave of supermodel sorority sisters, that first week on campus also held my first collegiate Physics class. First thing I learned? Apparently AP Physics in high school is a thing, and judging by the contributions of my classmates, evidently it teaches you something. Who knew? I was so utterly lost; my own high school Physics curriculum of loosely relevant Reality TV wasn’t helping me with the assumed calculus foundation for the problem sets. Survivor has a lot to teach about the physical world; equations are not in its repertoire.
Turns out my Physics class was also the course all Junior-year pre-med students took as preparation for the MCAT, so I wasn’t just struggling along with fellow clueless frosh, but was confronted with doctors-in-training, literally.
It didn’t help that I struggled to find any realness in Physics class too. Classmates were very “loose” about their lab results, students coasted on the coattails of more experienced group partners, and I’d see people almost every day only talking about the most surface-level stuff. It was easy for me to fall into these patterns too.
Even as a freshman though I knew this wasn’t who I wanted to be. So I set about answering a single question: What do I actually want to get out of college? I had some rough ideas, and I started asking “Why?” to dig deep into the root causes and motivations. I’ve also asked “How?” a bunch of times to pull myself back up into more practical realms.
Now, two years later, I am approaching an answer: I want to connect deeply with people and ideas, deep enough to know what is real. I want to suspend judgment of media or spaces or platforms just because it’s trendy to dismiss them. I want to give communication and relationships in digital spaces a fair shot to uncover the real.
Back in January, about a month after Kate’s memorial service and shortly before the Super Bowl, a headline about design thinking crossed my Twitter TL (timeline). The title was a little clickbaity, but I went with it anyway and was impressed by the resources Stanford has made available to randos like me. They have a 5-phase design framework with a nice graphic and everything, and a virtual introductory crash course. I was hooked.
Turns out I had already been doing some design thinking on my own. My sorority supermodels sisters encounter led to an Empathizing exercise. My Physics class and figuring out what I wanted college to be about was an activity of Defining. Since I was a kid, I’ve always carried a small journal with me to capture my thoughts: perfect for Ideating.
The close proximity of Kate’s death, Liam Neeson’s sociopathology, and design thinking introduction made me realize I needed to be more intentional about this process. So I had figured out what I wanted my life to be about; great, but I didn’t have much of a plan to get going. Rather than stopping at patting myself on the back for empathizing and defining and casually ideating, I leaned forward.
I started into more active ideation. I still kept my thought journal going, but I made sure to schedule time every week to write in it. I would put two random ideas together just to see what would happen; I’ve been amazed at what comes from these novel connections. It’s taking the time to slow down the torrent of ideas, allowing the things already in my head to collide and jostle together and then settle. This tests the substance of ideas and break things apart, but also draws out deeper beauty or real form.
I used to clutch a single idea as long as I could, tweaking it along the way, sure, but really keeping a tight grip. This new framework for me is about loosening my grip, trusting the jostling process to mess with the ideas and make them better.
I’m finishing up this really great sociology class this term; really great because our professor has been trying to help us engage critically with sociology all around us. I dare say, she is helping us see what is real.
She pointed us to a new online game called Parable of the Polygons, which makes an argument about entitlement and segregation that I found to be profound. I’d read stuff with a similar message before in other sociology courses, but there was something about the interactivity of this game that was quite different than reading academic articles. Same ideas, different experience of realness. Ian Bogost would call this the persuasive power of games, and it makes me ask: What is the relationship between persuasive and real?
How could games (or other highly persuasive media like fabrication labs and maker spaces) be prototypes in my process of seeking realness? Seems strange to talk about a journey including both Kate’s death and videogames. A cynic might point out the incongruity of putting the morbid and the trivial side by side.
But if we think about these experiences and media and spaces in terms of participation and agency, my brain is more content. The point being, for realness, I can’t be a passive consumer but must actively take part.
These are the things I must test.
I don’t begin to imagine these ideas are in their final form. They’re a start, an early prototype. I’ll see how they hold up, and I’ll revise. I’ll try to gain deeper empathy, more crisply define what I’m aiming for, come up with new ideas, put together new prototypes, try those out, and repeat.
This is where being a Tank comes in handy. I’m jumping into the middle of the fray. I’m ok with whatever chaotic sequence comes. I’m tough and adaptable. I go slow and steady and deliberately. I can take whatever the journey throws at me.
Let me just suit up; I’ll put on Alessia’s Bulwark.
I suspect it will be a journey full of unexpected turns that will sound even stranger than the beginning I’ve described here already. Videogames, sorority sisters, Physics, a friend’s death. And Liam Neeson as a catalyst.
All on a quest to discover what’s real in this world.


The announcement was made at a news conference in Stockholm by the Deputy Director of public prosecution Eva-Marie Persson, CNN reported.
Assange is currently serving a 50 weeks imprisonment sentence in UK's Belmarsh prison for skipping bail to avoid being sent to Sweden over sexual assault allegations.
The Australian whistleblower had denied the allegations against him, asserting that they were politically motivated.
The investigation against Assange was suspended in 2017 but was later reopened in May this year.
According to the Swedish prosecutor's office, a total of seven witness interviews were conducted as part of this investigation during the summer of 2019.


Welcome to a short introduction to WebGoat. Here you will learn how to use WebGoat and additional tools for the lessons.
1. List of all the lessons and their categories.
2. To refresh the list of lessons and categories (if a new lesson/category is added)
3. Content of the lesson
4. Reset the lesson to inital state
5. Get random hints of the lesson
6. This will show GET parameters
7. This will show the COOKIES
8. Get the plan of the lesson
9. This will show the solution of the lesson
Always start with the lessons plan. Then try to solve the lesson and if necessary, use the hints. The last hint is the solution text if applicable. If you cannot solve the lesson using the hints, you may view the solution for complete details.


{% extends 'layout.html' %} {% set crumbs = (('Docs',), ('Quickstart',)) %} {% set toc = ( ('Installation',), ('Directory structure', ( ('The assets directory',), ('The containers directory',), ('The locales directory',), ('The posts directory',), ('The templates directory',) )), ('Configuration',), ('Templates', ( ('Helper functions',), ('Globals',), ('Locals',) )), ('Posts', ( ('YAML frontmatter',), ('Renderer functionality',) )), ('Tagging', ( ('Automatic tag pages',), )), ('Archives', ( ('Automatic archive pages',), )), ('Content containers', ( ('Configuration',), ('File location',), ('Tags and archives',), ('Template data',) )), ('Pages',), ('Generation',) ) %} {% block content %}
The goal of this guide is to get you up and running quickly with mynt. If after reading this guide you still have questions that aren't answered by the other doc pages or you run into any issues, feel free to open an issue on GitHub or hop in IRC.
{# # INSTALLATION #}The recommended way to install mynt is via pip. If you already have pip installed, the below command is all you need. Otherwise, head on over to the pip site to get it installed.
$ pip install mynt
If you'd like support for reStructuredText install mynt using the following command:
$ pip install mynt[reST]
After mynt has been installed, run the mynt command with the --version
flag to confirm everything completed successfully.
$ mynt --version
{#
# DIRECTORY STRUCTURE
#}
Let's start off by initializing a new site. This is done with the init
subcommand.
$ mynt init ~/projects/my-mynt-site/
Throughout the rest of this guide, the directory you initialized your site in will be referred to as the project root. Given the above usage of init
, the project root would be ~/projects/my-mynt-site/
.
If the directory you want to initialize your site in already exists, you will have to pass the --delete
flag to force initialization.
$ mynt init --delete ~/projects/my-mynt-site/
In doing so, mynt will delete that directory in the process. For example, if the directory my-mynt-site
already exists in ~/projects/
, the above command will delete my-mynt-site
before recreating it and initializing your site there.
Now that you have your site initialized, let's go over how mynt interacts with the directories and files of your site.
The first thing to go over is that any directory or file who's name begins with an underscore or period will be ignored. The one exception to this rule being the five special directories that we'll talk about shortly.
This behavior can be overridden by using the include
configuration setting.
Beyond that rule, mynt will try to parse any file that isn't being ignored. It does this by looking for a parser that accepts the given file. If one is found it will be used to parse the file otherwise it will be ignored.
Now, onto those five special directories. In a mynt site there are five special directories: _assets/
, _containers/
, _locales/
, _posts/
, and _templates/
. These five directories are located at the project root and are reserved for use by mynt.
The assets directory is where all of your, well, assets live. CSS files, images, JavaScript libraries, file downloads, and so on.
One place ignored directories can be useful is in the assets directory. For example, if you are using a CSS preprocessor like SASS, you can put your SASS files in _assets/css/_sass/
, have SASS output to _assets/css/
, and all of your SASS files will be ignored by mynt.
The containers directory is used for the content containers feature which we'll go over later. For now it's enough to know that it serves a role similar to that of the posts directory.
The locales directory is used for localization. Localization is a bit of a complicated topic to get into here, so just know that this is where your .mo
files would live if you were maintaining a site available in multiple languages.
You likely guessed it, the posts directory is where all of your posts will live.
Ignored directories can also be put to use in the posts directory. For example, if you have some post ideas you are working on, but aren't ready to publish them, you can put them in _posts/_drafts/
and mynt will ignore them.
Lastly, there's the templates directory. The name of this directory can be a bit confusing for the sole reason that any HTML or XML file that isn't being ignored is a template. They are all processed by the configured renderer (Jinja by default).
The difference between having a template in the templates directory and somewhere else in your site, is that templates in the templates directory are not actual pages. They are simply templates that get reused by other templates or are used by mynt internally (like a post's layout
).
The configuration of mynt is handled by a single file at the root of your project: mynt.yml
. If the file doesn't exist a set of defaults will be used, but if you wish to change any settings you'll have to create it. All of the settings are rather straight forward, so I won't go over them in detail here, but if that's what you're looking for, check out the configuration documentation.
One powerful thing about mynt's configuration file, is that everything in it, mynt setting or not, is made available to templates. This can be taken advantage of in many ways. For example, you could add a title or author attribute for use in templates and then if you ever need to change that information, all you have to do is update it in your site's configuration rather than in every template.
{# # TEMPLATES #}With your site set up and a general sense of how a mynt site is structured, let's move on to templates.
In the case of this guide (and also by default) the renderer used is Jinja. If you're not already familiar with Jinja, head on over and give the Jinja documentation a quick read.
For the most part a template in mynt is no different from any other Jinja template. However, there are three things worth mentioning. The first being two mynt specific helper functions and the second as well as the third being the available globals and locals.
Two mynt specific helper functions are provided to make retrieving URLs within your site easier. They do this by taking into account how your site is configured. Specifically the assets_url
, base_url
, and domain
configuration settings.
The first helper function is get_asset()
. You should use it whenever you need a URL to anything living in the assets directory. The second helper function is get_url()
and it should be used whenever you need a URL to anywhere else in your site.
Whenever you need a link internal to your site, you should use these two helper functions. The reason being, if you ever decide to move it, you'll only need to update the relevant configuration settings.
Template globals are variables containing site data that are available in every template. There are three template globals: site
, posts
, and containers
. The first, site
, is a dictionary of everything in your site's configuration file. The other two contain your site's content, posts
for your posts and containers
for your content containers (a feature that we'll take a look at in a bit).
For a detailed look at the structure of the template globals, check out the globals section of the templates documentation.
Template locals are very similar to the globals we just discussed with the one exception that they are only available in specific templates. There are three template locals: item
, archive
, and tag
.
Each local contains the data for a single member of it's respective global. In turn, they are only available in templates defined by their respective layout configuration settings. For example, item
is only available in layout
templates, archive
in archive_layout
templates, and tag
in tag_layout
templates.
For a detailed look at the structure of the template locals, check out the locals section of the templates documentation.
Now with templates out of the way, let's move on to posts.
The first thing you need to know about posts is that a post's filename is very important. The first of which being, in order to specify a post's date, the filename needs to be formatted in a specific way:
[YYYY-MM-DD[-HH-MM]-]An-example-post.md
If you don't specify a date in the filename following the above format (hour and minute optional), the post's date will be set to when the file was last edited.
Also important is the file extension. The file extension determines which parser will be used. For example, files with the .md
extension will be parsed by the Markdown parser. If you installed mynt with reStructuredText support, files with the .rst
extension will be parsed by the reStructuredText parser.
Now let's take a look at how posts need to be formatted themselves.
There are only two things that differentiate a post from an ordinary document of the markup language being used. The first being the YAML frontmatter and the second being the ability to use the features of the configured renderer.
The YAML frontmatter is a block of YAML fenced by three dashes at the start of a post containing post metadata. It looks like the following:
---
layout: post.html
---
Every post requires a YAML frontmater with the layout
attribute set. The layout
attribute tells mynt which template in the templates directory it should use to render the post.
There are only two other attributes that have a special meaning in the YAML frontmatter. The first, parser
, provides a way to explicitly set which parser will be used. The second, though it's optional, is tags
. The tags
attribute is used by the tagging feature mynt provide which we'll talk about later.
You are free to add whatever data you want to a post's YAML frontmatter and it will be available in templates when accessing that specific post. A common example of this is using an attribute to store the formatted version of a post's title.
There are many ways to make use of the YAML frontmatter. For example, you can implement simple multiple author support by adding an author attribute to every post. Then a specific author's posts can be grabbed by filtering a for
loop or using the groupby
filter.
{{ "{% for post in posts if post.author == 'Author' %} ... {% endfor %}" }}
{{ "{% for author, posts in posts|groupby('author') %} ... {% endfor %}" }}
All of the features of the configured renderer are also available for use in posts with the exception of what data is available. The only template data available to posts is the YAML frontmatter of the post itself and the site
template global.
---
layout: post.html
title: An example post.
---
# {{ '{{ title }}' }}
![image]({{ '{{ get_asset(\'images/image.jpg\') }}' }})
For example, in the above post, Jinja functionality is used to create a header containing the value of the title attribute from the YAML frontmatter as well as a template helper to grab a link to an image.
{# # TAGGING #}With templates and posts covered, let's move on to how mynt handles tagging.
To tag a post, simply add the tags
attribute to the YAML frontmatter containing a list of the desired tags.
---
layout: post.html
title: An example post
tags: [Foo, Bar]
---
Tags are case-sensitive. "Foo" and "foo" are two different tags.
Once a post has been tagged, this change is reflected in a couple of ways. First, all of a post's tags will be available via a tags
attribute. Second, that post will be added to each tag in the tags
property of the posts
global.
If your site has a lot of tagged posts it may be desirable to have a separate page for each tag. One of mynt's key features is the ability to do just that.
To enable it, tag_layout
must be set in your site's configuration. This setting tells mynt which template in the templates directory to use when rendering these pages. Once it is set, a page will be rendered for each tag using that template.
We've gone over posts and tagging so now let's talk about archives.
For the most part, how you want to handle post archives is up to you. To give you as much flexibility post data is available in a handful of different ways, most notably the archives
property of the posts
global which is a dictionary of your site's posts organized by year and month.
Just like with tags, another key feature of mynt is the ability to automatically generate archive pages. If your site has a lot of posts or if you want to provide an alternate more compact way of browsing all of your site's posts, such a feature may be of use to you.
Enabling this feature is done very much in the same way as enabling automatic tag pages. In your site's configuration, set archive_layout
in the same manner as tag_layout
. In doing so a page will be rendered for each year a post was made using that template.
It's come up a couple of times already so now let's go over the content containers feature.
The content containers feature allows you to define containers that are handled exactly like posts, but are separate. For example, say you have a personal site with a blog, but you want a separate section of your site for the talks you've given. Let's walk through how we'd use a content container to accomplish that.
The first step is creating a content container. This is done by putting the following in your site's configuration:
containers:
talks:
url: /talks/<slug>/
What's happening here is pretty straightforward. We're defining a container named talks and setting the URL for that container to /talks/<slug>/
. The url
configuration setting for content containers behaves identically to the posts_url
configuration setting with the one exception that the url
configuration setting must be set for each content container.
For a list of the configuration settings available to content containers, check out the configuration documentation.
So where do you put your files? Remember the _containers
special directory that was mentioned earlier? A container's files live in a directory with the same name as the container in that special directory. In this case that'd be _containers/talks/
.
The similarities between content containers and posts doesn't end there. The tagging and archives features available to posts are also available to content containers and are enabled in the same way. For example, to automatically generate tag pages for the talks container set the tag_layout
:
containers:
talks:
url: /talks/<slug>/
tag_layout: tag.talks.html
tags_url: /talks/tag/
All that's left to go over is the containers
template global. For posts there's the posts
global, but how do you access content container data in your templates? The answer is the containers
template global.
{{ '{% for talk in containers.talks %} ... {% endfor %}' }}
A container's tag and archive data can be accessed the same as with posts:
{{ '{% for tag in containers.talks.tags|values %} ... {% endfor %}
{% for archive in containers.talks.archives|values %} ... {% endfor %}' }}
Now you can use your preferred markup language to post your talks and even have tag and archive pages generated for them.
{# # PAGES #}Lastly, we have pages. Any file outside of the special directories is considered a page by mynt.
All pages will be in the same location after generation as in the source tree. For example, an index.html
at the project root will be the site's index page after generation.
The simplest pages are plain HTML files and are processed by the configured renderer. However, it is also possible to create pages using a supported markup language. Such pages behave very similar to posts and as such require a YAML frontmatter with the layout
attribute set.
For example, assuming _templates/page.html
contains the following:
{% raw %}<html>
<head>
<title>{{ item.title }}</title>
</head>
<body>
{{ item.content }}
</body>
</html>{% endraw %}
You could write the index page in Markdown by saving the following as index.md
at root of the project:
---
layout: page.html
title: It works!
---
It really does!
However, there is one disadvantage to be aware of when creating pages in this manner. The posts
and containers
template globals are only available to HTML pages. Other than that, the choice between HTML and markup pages is down to preference.
Now that we have the basics covered, it's time to generate your site.
Generating a mynt site is handled by two different subcommands: gen
and watch
. If you just need to make a quick change, gen
is best for the job.  Instead you can use the watch
subcommand.
$ mynt watch <source> <destination>
For the most part it is identical to gen
, however, with watch
, every time you make a change to your site it will automatically regenerate.
When using either subcommand, if the destination already exists, you will have to pass the --force
flag to force generation.
$ mynt {gen,watch} --force <source> <destination>
In doing so, mynt will delete any directory or file at the root of the destination that doesn't begin with an underscore or period.
Now that you've generated your site, I'm sure you want to check it out. If you have a local server setup you're good to go, but if you don't, mynt's got you covered. The last subcommand we're going to talk about is serve
.
$ mynt serve <source>
This subcommand should not be used to publicly host your site. It should only be used for local development and testing.
To start up the server pass the directory containing your generated site to the serve
subcommand. Then, to view your site open your browser to http://localhost:8080/.
For a more detailed look at the commands mynt provides, check out the command line documentation.
Once you're happy with your site, you're good to upload it to the host of your preference, whether that be GitHub Pages or your own VPS.
{% endblock %}


Q—Dear Mr Key, I read with great interest your piece on swarfega pitfalls. I myself have often experienced swarfega pratfalls. I think it would be very helpful for your readers if you could provide a clear, comprehensive, and slightly hysterical explanatory string of paragraphs on the differences between pitfalls and pratfalls. Should you require my assistance in this matter, I am available for interview at the corner table in Old Ma Popsicle's Tea Shoppe every day between the crack of dawn and the engulfing shroud of pitch black starless night.
A—My correspondent is deluded in thinking there is such a thing as a swarfega pratfall. He or she is obviously confusing the phrase with Swarfegaprat Falls, a mighty cataract of tumbling water which can be found on the outskirts of Pointy Town. (Turn left by the cement statue of Hattie Jacques and keep going until you hear the roar and slosh of a mighty cataract of tumbling water.)


Among Giants **1/2
rated R starring Pete Postlethwaite, Rachel Griffiths, James Thornton written by Simon Beaufoy directed by Sam Miller
When Fox Searchlight Pictures picked up Sam Miller's AMONG GIANTS, they were probably hoping to once again cash in on the golden touch of Academy Award nominated British screenwriter Simon Beaufoy, who, with THE FULL MONTY, gave the small indie company it's first megahit. What they knew, but didn't care to realize, was that Beaufoy wrote the AMONG GIANTS script before he wrote THE FULL MONTY. So instead of a sequel to the hilarious antics of the latter, we get a weak romance, held together only by exceptional performances by the two leads, Pete Postlethwaite and Academy Award nominee Rachel Griffiths, showing that her vital, restrained work in HILARY AND JACKIE was no fluke.
The 50ish Postlethwaite plays Ray, a divorced man who is currently painting power lines for money. In the working class town of Sheffield, the main attraction is mountain climbing, which is how he meets Gerry(Griffiths), a hitchiker who wants to see if the climbing is really as good as advertised. The audience never learns a thing about Gerry's past, which makes her character somewhat two-dimensional. Anyway, the boyish Gerry ends up joining Ray's painting crew, and the camera pans back into some beautiful shots of the crew working on the power lines, high above the rest of the world. >From then on, there isn't much plot except for the inevitable accident, and we just have to sit back and let the romance between Ray and Gerry happen. By just looking at the two, you can already deem the romance unconventional. But there never is much going on, and Postlethwaite is always believable no matter what his age, so the movie basically moves along, though flimsily.
The only thing ironic about AMONG GIANTS is how the film is so weak, but we cease to notice it because of the simple gestures of the two lead actors. This is essentially Postlethwaite's film, and he gives a quietly moving performance as the man who is vulnerable to love, but Griffiths more than holds her own as the woman who just doesn't want to commit to anything. It's also quite odd that the man who wrote this film is the same man who wrote THE FULL MONTY, because I can't find too many similarities except for some full frontal nudity. AMONG GIANTS is not a bad film, but good intentions can only get you so far.
review by Akiva Gottlieb, The Teenage Movie Critic<EMAIL_ADDRESS>http://www.angelfire.com/mo/film watch me on TBS' "Dinner And A Movie" May 21 8:05pm EST
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


--- layout: default --- Bernhard Wittmann Student & Developer Xing LinkedIn GitHub Contact I'm a Master student in Software-Engineering and always passionate about the newest technologies and frameworks. Skills ¯\_(ツ)_/¯ Python Java NodeJS Vue React Angular Projects {% for app in site.apps reversed %} {% comment %} This mess is needed because we don't know the extension of the thumbnail upfront... {% endcomment %} {% for file in site.static_files %} {% assign path = '/assets/' | append: app.slug | append: '/thumbnail' %} {% if file.path contains path %} {% endif %} {% endfor %} {{ app.title }} {% if app.is_prerelease %} Prerelease {% elsif forloop.first %} New! {% endif %} {{ app.type }} {{ app.subtitle }} {% endfor %}
Xing LinkedIn GitHub
Contact
Python
Java
NodeJS
Vue
React
Angular
{{ app.subtitle }}


Welcome to the first of more than a few blog entries on Data Diluvium. Data Diluvium is a project I’ve started focused around generating data for the purposes of testing, capacity, or whatever other needs might arise.
Definition of data
- : factual information (as measurements or statistics) used as a basis for reasoning, discussion, or calculation
- : information output by a sensing device or organ that includes both useful and irrelevant or redundant information and must be processed to be meaningful
- : information in numerical form that can be digitally transmitted or processed
Definition of deluge which is the English version of the latin diluvium.
- a : an overflowing of the land by water. b : a drenching rain “a deluge causing mudslides in the area”.
- : an overwhelming amount or number
…thus Data Diluvium.
The idea is to build a data generation service. Something that will generate random data in usable chunks; name generation, addresses, and related data. To get a wide range of use out of this capability I needed to build a web service application and a respective CLI (Command Line Interface) to go along with the web application.
A Microservice is Born!
The web service is going to generate pseudo-random data around name, addresses, phone numbers, and location. Over the course of this series I’ll add more data generation types and implement a schema for the actual data generation. This web service will be created based on microservice architectural and design ideas. However in the early stages of this effort I’ll keep it simple and will stick to implementing a minimally viable product (MVP). From here on out I’ll refer to this project as the Data Diluvium project.
Microservice Client CLI
For the client side, I want to provide a CLI in which to interface with the microservice itself. With this CLI I want to be able to provide basic configuration or passed parameters that will allow me to take the generated data and pass it directly into terminal output, out to a file, or prospectively as things develop directly into databases of various kinds themselves.
The Tooling & Language
Overall this could be built in a number of technology stacks. I could use Node.js, .NET, Java, Erlang, or Go to build both the CLI and the microservice. With the multitude of choices it can be somewhat difficult picking the right stack to get things done as quickly, efficiently, well organized, and cleanly as possible. For this particular effort I’m going to go with Go to implement the microservice and the CLI.
Why Go you might ask? For the CLI, I’d want a cleanly built, fast, and responsive CLI that I can setup on any machine with minimal fuss. For Node.js for instance, one doesn’t get a built executable, but instead a kind of morass of tooling, and preinstallation software required. For Java and .NET one ends up with a great array of tooling to build a microservice and CLI, but the knowledge and time just to setup the initial development environments leads me away from those. With Erlang, maybe a day in the future, since it is indeed hugely and almost mystically powerful (yes, I just wrote mystically, it sounds appropriate).
Kick Off
First things first, I need the projects themselves. Here are the steps I took to get some basic parts building together for the two projects. The first step was simply to create two directories for each of these projects, one I named Data Diluvium and one Colligere. Inside both of those directories I put together a basic structure for each of these folders.
Basic Project Files
The frame of each included the following:
I created a folder titled .github and placed the following files: CONTRIBUTING.md, ISSUE_TEMPLATE.md, and PULL_REQUEST.md.
Next the standard .gitignore file with the following contents. This is the basic file Github starts a Go project with if selected during the creation of the repository. It has the minor addition of .DS_Store to keep that OS-X file out of the repository and the .idea director to keep out the IntelliJ, WebStorm, or Goland IDE (or any Jetbrains IDE) settings directory.
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so
# Folders
_obj
_test
# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
*.test
*.prof
.DS_Store
.idea
Build Files
It is important at this stage to create a build and get that build passing with some basic element of code. At this point I need some basic executing code and the respective build configuration files. For this I’ll create three files and name them respectively: main.go, codeship-steps.yml, and codeship-services.yml. In addition to the code, since I was going to be pulling in dependencies I’d need something to handle that, which I went ahead and chose glide.
I installed glide with the following commands on my OS-X machine, but since I am doing a lot of development on my new Leopard WS machine I installed glide with the curl command below.
Install with brew.
brew update
brew install glide
The curl installation step.
curl https://glide.sh/get | sh
With glide installed I ran the default initialization command glide create
to get a glide.yaml
and glide.lock
file setup. Running this command will display the following via the CLI.
$ glide create
[INFO] Generating a YAML configuration file and guessing the dependencies
[INFO] Attempting to import from other package managers (use --skip-import to skip)
[INFO] Scanning code to look for dependencies
[INFO] --> Found reference to github.com/Masterminds/semver
[INFO] --> Found reference to github.com/Masterminds/vcs
[INFO] --> Found reference to github.com/codegangsta/cli
[INFO] --> Found reference to gopkg.in/yaml.v2
[INFO] Writing configuration file (glide.yaml)
[INFO] Would you like Glide to help you find ways to improve your glide.yaml configuration?
[INFO] If you want to revisit this step you can use the config-wizard command at any time.
[INFO] Yes (Y) or No (N)?
n
[INFO] You can now edit the glide.yaml file. Consider:
[INFO] --> Using versions and ranges. See https://glide.sh/docs/versions/
[INFO] --> Adding additional metadata. See https://glide.sh/docs/glide.yaml/
[INFO] --> Running the config-wizard command to improve the versions in your configuration
I then ran glide get github.com/icrowley/fake
to get the fake library I would need. The glide.yaml
and glide.lock
looked like this after I pulled in this library.
glide.yaml
package: github.com/adron/datadiluvium
import:
- package: github.com/icrowley/fake
glide.lock
hash: 2fd78ca8369405d5998e65ea4cfce94c6599e878c36fec39b85fd385552392d7
updated: 2017-01-09T01:04:18.134993358-08:00
imports:
- name: github.com/icrowley/fake
version: 84bff6d01560fb0b5a396ba29534e93fd00d09c6
testImports: []
If you’re curious about the hash, and related properties of this file check out the glide README.md, it’s useful in understanding what’s stored here.
At this point, it was time to actually sling some Go code! At this point, I do indeed mean sling some too. Splat!
Some Go Code
In the main.go file I wrote some basic Go code just to have something to build. I wanted a little bit more than just a Hello World! code sample so I added a little bit more. I did some research and found the Fake library written by Dmitry Afanasyev from Ulyanovsk, Russia. I used Go get
to pull that into the project and then added an import
after package main
with the various bits of code I’d want for my getting started code.
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"github.com/icrowley/fake"
"time"
)
The other libraries I knew I would need for various other output, date stamps, and other library features I’d want. Then I went to coding, my first sample of working code to prove out key functionality of the libraries looked like this.
type Page struct {
Title string `json:"title"`
Schema string `json:"schema"`
}
func (p Page) toString() string {
return toJson(p)
}
func toJson(p interface{}) string {
bytes, err := json.Marshal(p)
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
return string(bytes)
}
func main() {
pages := getPages()
for _, p := range pages {
fmt.Println(p.toString())
}
fmt.Println(toJson(pages))
fmt.Println("\nSome Russian Random Data")
fake.SetLang("ru")
fmt.Println(fake.FirstName())
fmt.Println(fake.FullName())
fmt.Println("\n\n\nSome English Random Data")
fake.SetLang("en")
fmt.Println(fake.FirstName())
fmt.Println(fake.FullName())
thisMany := 10
counter := 1
t := time.Now().Format(time.RFC850)
fmt.Println("\n\n\nPrinting", thisMany)
for i := 0; i < thisMany; i++ {
fmt.Println(counter, fake.FirstName())
counter += 1
fake.FirstName()
}
fmt.Println("Start Time: ", t)
t = time.Now().Format(time.RFC850)
fmt.Println("End Time: ", t)
}
func getPages() []Page {
raw, err := ioutil.ReadFile("./deluge.json")
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
var c []Page
json.Unmarshal(raw, &c)
return c
}
Now, this all was a small mess at this point. I know I needed to get it cleaned up. However the priority at this point is to get a build working that will provide a trusted basis to continue work from. Since I intend to use this to teach, for everyday testing, and hopefully to gain contributors (want to help?) it needs to have a good build, end of story.
Continuous Integration Build
At this point I have the main.go file executing with some Go code that pulls together some functionality on random data generation, file I/O (at least reading) with a JSON file for config, and displaying this out the console. So far, so good.
I’ve decided to use Codeship for this particular project. They’re a service provider the specializes in continuous integration and delivery services, and I might add that they’re good at it (* Also note declarations, etc at the bottom of this blog entry).
Two significant reasons I like to use Codeship are: remote builds & deploys with Docker and local builds with Docker. Having that combination is very effective, providing the capability to effectively to builds that include systemic deployments to my own local machine in addition to combining efforts with a prospective team together via the remote build.
CI Service Setup at Codeship
To setup the repository on Codeship for Docker support I went through these steps.
First select create new project. This is up on the Select Project bar or if you’ve just signed up it is available as the default screen when navigating to builds. Codeship just added Gitlab as a repository option recently, which I opted for the Data Diluvium Client, Colligere, using Gitlab just to test it out. At this time I really like my experience with Gitlab, but that’s for another blog entry, for now, onward!
Next enter the path for the git repo.
Select pro infrastructure. This will provide Docker capabilities.
Then it is time to setup the Docker configuration and yaml files for the build. The page at this point on Codeship has some links and such, for the two yaml files needed, but I’ll describe them here in detail a bit. In the image below a quick review of each element of the page: (1), the project settings, which will navigate to an area to setup notification, configure and add team members, repository details or reconnecting to a different repository, and general settings, which can be navigated to via (2), and (3) lists the current project the settings are displaying and available for changing.
Once the build project is setup in Codeship there are two files that are needed in the repository itself. Both of these files are simple yaml files. Each are given a default name of codeship-steps.yaml
and codeship-services.yaml
.
The codeship-steps.yaml
file has the following steps listed for this project. I’ve associated these to a service called deluge_svc which will be defined in the codeship-services.yaml
file. Then the commands, in order, are go clean
, go test ./...
, and go build
.
- name: deluge
service: deluge_svc
command: go clean
- name: deluge_tests
service: deluge_svc
command: go test ./...
- name: deluge_build
service: deluge_svc
command: go build
The next file is codeship-services.yaml
and has the following contents.
deluge_svc:
build:
image: deluge
dockerfile_path: Dockerfile
This simply gives the service a name, which in this case is deluge_svc
and then points to which Docker image will be used and which Dockerfile will build that image. Here I’ve just placed Dockerfile as the file, and next will put together the Dockerfile.
Dockerfile
The Dockerfile I put together is based off of the official golang image, with the tag specific for the 1.7.4-alpine build. The Alpine build is basically a Linux image that is about ~10MB, maybe a little more or a little less depending on what needs to be added to the image to run the service.
In the case of the Data Diluvium App I’ve added a few things that will be needed in order to get the build working. The complete Dockerfile is below, but below that I’ll break out what is going on and what I needed to do to implement this Docker image to run as a container for the build (and by proxy any production use of the same image).
FROM golang:1.7.4-alpine
ENV GOPATH /go
RUN mkdir /app && \
apk add --update curl && \
rm -rf /var/cache/apk/*
ADD . /app/
WORKDIR /app
RUN apk update && apk upgrade && \
apk add --no-cache git && \
curl https://glide.sh/get | sh
RUN glide up && go get github.com/icrowley/fake && \
go build
CMD ["/app/datadiluvium"]
The first part of the file sets the official golang image and immediately after that I set the actual $GOPATH environment variable on the image.
FROM golang:1.7.4-alpine
ENV GOPATH /go
Next, I install curl with Alpine’s apk and clear out the apk cache.
RUN mkdir /app && \
apk add --update curl && \
rm -rf /var/cache/apk/*
Next are some very specific steps, which I’m not sure really meet a good practice, but it’s what I needed to do in the moment to get things working. The first steps here is simply adding the app directory, then setting it as the WORKDIR. Next I update apk again and upgrade the cache before installing glide. I’m not sure if this is absolutely necessary but I was running into errors and things not executing until I broke apart this section from the aforementioned section.
ADD . /app/
WORKDIR /app
RUN apk update && apk upgrade && \
apk add --no-cache git && \
curl https://glide.sh/get | sh
With glide installed it was time to grab the dependencies for the Docker image with glide up
and for some reason, even though it’s in the glide yaml file I still had to specifically call out the go get github.com/icrowley/fake
library before executing the go build
step.
 I did this simple with a jet steps
command and realized I’d missed the steps needed to actually install the jet CLI. Since this first build I was working on, was actually on Ubuntu Linux, I followed these steps for getting the Jet CLI installed.
curl -SLO "https://s3.amazonaws.com/codeship-jet-releases/1.15.4/jet-linux_amd64_1.15.4.tar.gz"
sudo tar -xaC /usr/local/bin -f jet-linux_amd64_1.15.4.tar.gz
sudo chmod +x /usr/local/bin/jet
However there is a brew cask that can be used to install jet with too. It’s a one line command.
brew cask install jet
Ok, that should get those following along with a running build too. There is of course the prereq of having git and docker installed too, I’ll admit I keep making the mistake of assuming those things are installed everywhere. So if you hit a hiccup at this point, it may be because those two things need installed - which likely will have caused errors far before this.
With jet steps
running the build locally, I can now navigate to Codeship and check out the build when I commit all of this work.
git add -A
git commit -m 'First code all wrapped up.'
git push origin master
…and that’s it for this entry.  If you’re interested, definitely ping me if you’d like to work on Data Diluvium some too. I’m looking for help.
Cheers! -Adron
Declarations & References
- Codeship - I’ve worked for Codeship providing technical writing and good coding fun with the crew there. They’re not currently paying me, but I will likely do more work for them, so take that into account when judging my judgement of their products. As always, I’m not into any shill work and wanted you dear reader, to have full clarity into my use of the tech. Cheerio!
- Collected Links - Codeship, Data Diluvium, Data Diluvium Github Project, Colligere.


A write stream constructor that supports a flush function that is called before finish
is emitted
npm install flush-write-stream
``` js var writer = require(‘flush-write-stream’)
var ws = writer(write, flush)
ws.on(‘finish’, function () { console.log(‘finished’) })
ws.write(‘hello’) ws.write(‘world’) ws.end()
function write (data, enc, cb) { // i am your normal ._write method console.log(‘writing’, data.toString()) cb() }
function flush (cb) { // i am called before finish is emitted setTimeout(cb, 1000) // wait 1 sec } ```
If you run the above it will produce the following output
writing hello
writing world
(nothing happens for 1 sec)
finished
var ws = writer([options], write, [flush])
Create a new writable stream. Options are forwarded to the stream constructor.
var ws = writer.obj([options], write, [flush])
Same as the above except objectMode
is set to true
per default.
MIT


Today marks one week on the island and on vacation.
I had wanted to get out every night to grab a sunset while here but family obligations began to take its tole on me and required that I take some evenings off to get some rest.
Today we rented a car and decided to tour the island. We began with a trip across the island to Lanakai Beach - which many consider one of the best beaches in the world. I was able to swim to one of the Mokulua Islands and enjoy the bird sanctuary there before swimming back.
Despite being here for a week I had yet to have some Ramen. Thankfully we stumbled upon Rai Rai Ramen in Kailua which was superb. Then we made our way to the Valley of the Temples to visit the Byodo-In Temple.
We continued north to grab a quick shave ice from Aoki’s in Haleiwa then finally made our way to Kaena Point on the west side of the island to grab this sunset.


Commands (Survival)
S Only Commands
- /sethome [name] - allows you to set a home
- /home [name] - teleports you to your selected home location
- /setwarp [name] - sets a warp for anybody to warp to, at the cost of $400,000/$400K
- /warp [name] - warps you to the selected warp
- /q, /quest, /quests - opens up the quest interface
- /spawn - Teleports you to where you originally spawned in
- /lobby - teleports you to the main lobby server
- /server [location] - teleports you to your selected server
VIP Only Commands
Everything above in addition to:
- /afk - allows the user to be in standby mode
VIP+ Only Commands
Everything above in addition to:
- /hat - allows you to use the item in the main hand for a hat, works for ALMOST all items
MVP Only Commands
Everything above in addition to:
- /nick [name], /nickname [name] - allows you to set a nickname specifically for this server, must be set in each
server and hub.
- /craft - opens up a mobile/virtual crafting table, without needing to have one in the players inventory
- /chatcolor - opens up the chat color tab which allows the user to change the display color of their chat
MVP+ Only Commands
Everything above in addition to:
- /feed - fills up users hunger bar to full
- /echest, /ec - opens up a mobile/virtual enderchest, without needing one in the players inventory
- /lore [name one|name two|name three|etc.] - sets "custom enchants" that do nothing, but display text
- /rename [name] - allows the player to rename the item in the main hand, but does not add a glow effect
- /glow - makes the item in the main hand look like it is enchanted, when it really is not, or it has a custom
lore set to it


Virtual Waiting Room
Welcome!
Take a Number
Take a Number
In Session
Click to Refresh
Session Ended
Click to Refresh
Current Line
Click to Refresh
Designed & Coded by Cole Crum


South Africa reacts to the death of radio presenter Xolani Gwala
Cape Town – Veteran radio presenter Xolani Gwala died on Friday after a lengthy battle with cancer. His family confirmed the news on 702 on Friday.
The smooth-voiced local star left an indelible mark on South African radio with his hard-hitting style and unique connection to his listeners.
He worked as a broadcast journalist for 20 years in South Africa and abroad, for a variety of platforms. He wore many hats over the years as a reporter, news anchor, producer, talk show host, news editor and current affairs programme presenter in both English and Zulu, on radio and television.
As the news of his death spread, his fans, colleagues from the SABC and 702, and more paid tribute to him on social media.
HERE ARE SOME OF REACTIONS TO XOLANI GWALA'S DEATH:
Compiled by Alex Isaacs.
Photo: Gallo


You can find in this website many ciries with beautiful places, events, (festivals, concerts and so on). Please, join us, and you will have the possibilities to participate to this new social network. Enjoy !


Bean services could not be autowired into other services.(JC) Fixes HIVEMIND-108.
Multiple interceptors with different names for the same interceptor factory id were treated as duplicates.(JC) Fixes HIVEMIND-102.
Core service implementations which implement RegistryShutdownListener are not notified for primitive and singleton service models.(JC) Fixes HIVEMIND-103.
Removed a potential deadlock related to the pooled service model.(HLS) Fixes HIVEMIND-104.
Allow for running with multiple Registries. (HLS) Fixes HIVEMIND-83.
Translate unique attribute values before checking uniqueness. (KW) Thanks to Michael Frericks. Fixes HIVEMIND-100.
Cache translated values in BuilderPropertyFacet. (KW) Fixes HIVEMIND-99.
Rename AdapterRegistry to StrategyRegistry, and AdapterRegistryFactory to StrategyFactory, to better reflect the relationship to the Gang-of-Four Strategy pattern.(HLS)
Make the interface attribute of <service-point> optional, and default to the service point's id. (HLS)
Update to Javassist 3.0. (HLS)
Version 1.1-alpha-3 (Mar 22 2005)
Interceptors can now be ordered by name rather than interceptor factory id.(JC) Fixes HIVEMIND-96.
Created a ServiceInterceptorFactory supporting AOP Alliance MethodInterceptors.(JC) Fixes HIVEMIND-45.
Upgrade Groovy to 1.0-beta-10. (HLS)
Make BuilderFactory rethrow construction exceptions, rather than swallow them and return null. (HLS)
Version 1.1-alpha-2 (Feb 23 2005)
Error running examples using Ant targets. (KW) Thanks to Brian K. Wallace. Fixes HIVEMIND-88.
service: object provider throws NPE with empty locator (KW) Thanks to Trent McClenahan. Fixes HIVEMIND-60.
Allow initialization in create-instance, rules, etc. (HLS) Fixes HIVEMIND-93.
NPE when module resource does not exist (KW) Fixes HIVEMIND-81.
Better, prettier HiveDoc. (HLS)
Add package attribute to <module> and automatically qualify Java class and interface names into that package. (HLS)
ManifestClassPath accessing deprecated variable (HLS) Thanks to Brian K. Wallace. Fixes HIVEMIND-92.
Allow service interfaces to be ordinary non-interface classes. (HLS)
Extend instance translator to configure properties of the instantiated instance. (HLS)
Version 1.1-alpha-1 (Jan 19 2005)
Added <dependency> construct providing support for dependencies between modules. Refactoring of RegistryBuilder: Now constructs Registry using a ModuleProvider. (KW)
Add visibility (public or private) to configuration points, service points and schemas. (HLS) Fixes HIVEMIND-58.
Add <null> constructor parameter element to BuilderFactory service. (KW) Fixes HIVEMIND-63.
Move some logic related to primitive Java types and arrays from Tapestry directly into DefaultClassResolver. (HLS) Fixes HIVEMIND-66.
Add support for the ErrorLog (a simple wrapper around an ErrorHandler and a Log). Add support for setting the service's ErrorLog to BuilderFactory. (HLS)
Add toString() support to ClassFab and MethodFab. (HLS)
Add the hivemind.lib.StrategyFactory service implementation factory. (HLS)
Added Groovy support. Module descriptors can now be defined using Groovy scripts. Although it requires some additional work in building the Registry. (KW)
Support the EasyMock Class Extension, if present on the classpath, to allow classes (not just interfaces) to be mocked. (HLS)
Added support for mapped configurations. A configuration schema can now specify an attribute which should be used as the key in a Map of all contributions. The BuilderFactory can inject such configurations as List or Maps. (KW)
Add support for conditional contributions. (HLS)
Allow services to be serialized (that is, service proxies can be serialized and deserialized). (HLS)
Add hivemind.lib.ChainBuilder service, an implementation of Gang Of Four Chain of Command. (HLS)
Add hivemind.lib.ChainFactory service. (HLS)
Report error if module descriptors define conflicting service or configuration points. (KW) Fixes HIVEMIND-64.
CVS connection string on website is incorrect (HLS) Thanks to Bruce Synder. Fixes HIVEMIND-56.
Properly report the actual method name when invoking a service initializer method. (HLS) Fixes HIVEMIND-68.
Add ability to set default value for non-matches in MethodMatcher. (HLS) Fixes HIVEMIND-75.
Improve MethodSignature and MethodIterator to filter out duplicate methods that differ only in terms of thrown exceptions. (HLS) Fixes HIVEMIND-76.
Change BuilderFactoryLogic to report the actual exception, not the InvocationTargetException, when an exception is thrown by a constructor or by a initializer method invocation. (HLS) Fixes HIVEMIND-77.
Smart translator properly returns attribute values as Strings when used with a <push-attribute> rule. (KW) Thanks to James Carman. Fixes HIVEMIND-15.
Attribute values are symbol-expanded by a <push-attribute> rule before being translated and pushed on the stack. (KW) Fixes HIVEMIND-57.
HiveDoc is now being generated from the parsed module descriptors instead of directly from the XML files. This will allow HiveDoc generation for module descriptors in other formats. (KW)
Upgrade to Forrest 0.6 (still in progress). (HLS)
Re-work the HiveDoc report to work naturally at the module (not project) level. (HLS)
Synchronize all access to java.beans.Introspector through a common mutex. (HLS)
Clear the PropertyUtils and Introspector caches when the Registry is shutdown. (HLS)
ApplicationRuntimeException will now display the location (if known) as part of its toString() method, making it much easier to track down problems in stack traces (especially deeply nested ones). (HLS)
Switch Javassist to version 3.0-rc-1. (HLS)
Removed the module parameter from ClassFactory.newClass() and from DefaultImplementationBuilder.buildDefaultImplementation(). (HLS)
BuilderFactory now supports autowiring through constructor based dependency injection. (KW)
Refactored SpringLookupFactory to identify a Spring BeanFactory directly, rather than via a SpringBeanFactorySource. (HLS)
Move ContextResource from Tapestry to HiveMind. (HLS)
Change HiveMindFilter load WEB-INF/hivemodule.xml if present. (HLS)
Version 1.0 (Sep 22 2004)
Ensure that the logging interceptor will work properly when wrapping around JDK dynamic proxies. (HLS) Fixes HIVEMIND-55.
Version 1.0-rc-2 (Sep 11 2004)
Add method getSymbolValue() to RegistryInfrastructure and Module (HLS)
Add clearCache() method to PropertyUtils. (HLS)
Add clearCache() method to PropertyUtils. (HLS)
Fix class loader issues concerning fabricated classes in different modules. (HLS) Fixes HIVEMIND-48.
Allow symbols to be escaped rather than expanded. (HLS) Fixes HIVEMIND-47.
The previous fix was incomplete; this should close the remaining sychronization gaps. (HLS) Thanks to James Carman. Fixes HIVEMIND-44.
Class loading issue inside Tomcat. (HLS) Fixes HIVEMIND-49.
Tweak HiveMind to work properly in a JavaWebStart application. (HLS) Thanks to James Carman. Fixes HIVEMIND-10.
Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. (HLS) Fixes HIVEMIND-52.
Class loading issue inside Tomcat. (HLS) Fixes HIVEMIND-49.
Tweak HiveMind to work properly in a JavaWebStart application. (HLS) Thanks to James Carman. Fixes HIVEMIND-10.
Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. (HLS) Fixes HIVEMIND-52.
Change the API for ClassFactory to take a ClassLoader, not a Module. (HLS)
Change the API for ClassFactory to take a ClassLoader, not a Module. (HLS)
Version 1.0-rc-1 (Aug 25 2004)
Add ability to mark attributes of an element as unique, such that duplicate values in contributions result in errors. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-43.
Add Quick Reference Sheet. (HLS) Thanks to Stefan Liebig. Fixes HIVEMIND-42.
Add polling methods to Registry. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-37.
Add polling methods to BeanFactory. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-36.
SmartTranslator should differentiate between blank strings and null input (HLS) Thanks to Michael Frericks. Fixes HIVEMIND-29.
Add checks to SchemaProcessorImpl for empty stack conditions (HLS) Fixes HIVEMIND-41.
Add parameters-occurs attribute to <service-point> element. (HLS) Fixes HIVEMIND-33.
Specify location in all module deployment descriptor parse exceptions. (HLS) Fixes HIVEMIND-23.
Add getCause() method to ApplicationRuntimeException (HLS) Thanks to Luke Blanshard. Fixes HIVEMIND-16.
Fix broken synchronization in ThreadedServiceModel and PooledServiceModel that could make them randomly fail when creating a service by invoking a factory. (HLS) Thanks to James Carman. Fixes HIVEMIND-44.
Check for <sub-module> references that do not exist. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-34.
Remove support for Simple Data Language ... it's all XML again. (HLS)
Re-work part of PipelineFactory to take advantage of object references. (HLS)
Make the service-id of <invoke-factory> optional and default to hivemind.BuilderFactory. (HLS)
Change the hivemind.Startup configuration to take an object reference, not a service id. (HLS)
Improvements to HiveBuild to properly handle changing versions or useages of artifacts. (HLS)
Version 1.0-beta-2 (Aug 1 2004)
Added a new module that contains HiveMind example code. (HLS)
Added StrictErrorHandler, an implementation of ErrorHandler that always throws an ApplicationRuntimeException. (HLS)
Removed dependency on Werkz. (KW) Fixes HIVEMIND-6.
Modifed the build scripts to properly include variable info when compiling. (HLS) Thanks to Achim Hügen. Fixes HIVEMIND-21.
Typo in jar-module.xml causes broken build if junit library is missing (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-31.
Made a number of changes to ensure HiveMind compatibility with JDK 1.3. (HLS) Fixes HIVEMIND-35.
Changed some unit tests to adapt to platform line endings. (HLS) Fixes HIVEMIND-26.
Fix the HiveDoc XSL to use XML (not SDL) output. (HLS) Thanks to Johan Lindquist. Fixes HIVEMIND-46.
Added link to the Jakarta mailing lists page. (HLS)
Moved the Ant build scripts to a new directory, hivebuild, in preparation for making hivebuild reusable on new projects. (HLS)
Added protected method constructRegistry() to HiveMindFilter. (HLS)
Renamed existing 'object' translator to 'instance', and created a new 'object' translator with great flexibility. Extend BuilderFactory to add a set-object element that leverages the object translator. (HLS)
Created service-property object translator. (HLS)
Added a version of Registry.getService() that omits the service id (but requires that exactly one service point implements the service interface). (HLS) Thanks to Marcus Brito. Fixes HIVEMIND-20.
Extended the BuilderFactory to autowire services. (HLS) Fixes HIVEMIND-22.
Fixed some latent bugs related to submodules inside the constructRegistry task. Made some more improvements to the hivebuild scripts. (HLS)
Updated the download location for the Forrest distribution. (HLS)
Added more examples and examples documentation. (HLS)
Moved the code for the Grabber Ant task into the tree and improve the build scripts to dynamically compile and use it. (HLS)
Version 1.0-beta-1 (Jun 26 2004)
Created two new services in hivemind-lib for creating default implementations of arbitrary interfaces (DefaultImplementationBuilder) and for using that to create placeholder services (PlaceholderFactory).(HLS)
Created MessageFormatter class as a wrapper around ResourceBundle and an easy way for individual packages to gain access to runtime messages. (HLS)
Added the qualified-id and id-list translators.(HLS)
Enhance logging of exceptions when setting a service property to a contribution (HLS) Fixes HIVEMIND-4.
Restore the getConfiguration() and expandSymbols() methods to the Registry interface. (HLS) Fixes HIVEMIND-11.
SimpleDataLanguageParser calls the ContentHandler with a null namespace argument instead of "". That leads to some problems if you want to use transformers. (HLS) Thanks to Dieter Bogdoll. Fixes HIVEMIND-9.
Fix how certain translator messages are generated to avoid unit test failures. (HLS) Thanks to Achim Hügen. Fixes HIVEMIND-7.
Fix a mistake in the BuilderFactory's set-object element, and add integration tests. (HLS) Thanks to Naresh Sikha. Fixes HIVEMIND-25.
Added change log. (HLS)
Refactored ClassFab and related classes for easier reuse outside of HiveMind. Added a new suite of tests related to ClassFab.(HLS)
Modified the read-attribute rule to allow a translator to be specified (overriding the translator for the attribute).(HLS)
Removed the <description> element from the module descriptor format; descriptions are now provided as enclosed text for element that support descriptions. (HLS)
Changed the MethodMatcher classes to use a MethodSignature rather than a Method. (HLS)
Changed MessageFormatter to automatically convert Throwables into their message or class name. (HLS)
Extended hivemind.BuilderFactory to be able to set the ClassResolver; for a service implementation, and to autowire common properties (log, messages, serviceId, errorHandler, classResolver) if the properties are writeable and of the correct type. (HLS)
Added methods newControl(), newMock(), addControl(), replayControls() and verifyControls() to HiveMindTestCase to simplify test cases that use multiple EasyMock mock objects. (HLS)
Changed HiveMindFilter to log a message after it stores the registry into the servlet context. (HLS)
Modify the build files to enable debugging by default. (HLS) Fixes HIVEMIND-12.
Added validation of id attributes in module deployment descriptors (using ORO regular expressions). (HLS)


In many cases where floats are used, flexbox can now be used.
In most cases where tables are used, CSS grid can now be used.
Let's make these 1x1 blocks a bit more flexible
Flexbox and CSS Grid aren't meant to battle, but rather complement one another.


Data Fields | |
| int | iSize |
| Must be set to the size of the structure. | |
| int | iNumberOfPerformanceLevels |
| Number of standard performance states. | |
| int | iActivityReportingSupported |
| Indicates whether the GPU is capable to measure its activity. | |
| int | iDiscretePerformanceLevels |
| Indicates whether the GPU supports discrete performance levels or performance range. | |
| int | iReserved |
| Reserved for future use. | |
| ADLODParameterRange | sEngineClock |
| Engine clock range. | |
| ADLODParameterRange | sMemoryClock |
| Memory clock range. | |
| ADLODParameterRange | sVddc |
| Core voltage range. |
This structure is used to store information about Overdrive parameters. This structure is used by the ADL_Overdrive5_ODParameters_Get() function.
Indicates whether the GPU is capable to measure its activity.
Indicates whether the GPU supports discrete performance levels or performance range.
Reserved for future use.


--- layout: post title: ArcGIS Resource Centers date: 2010-11-05 15:22:00.000000000 -05:00 type: post published: true status: publish categories: - Geoprocessing with Python tags: [] meta: _edit_last: '15714693' _wp_old_slug: '' _oembed_f7296578f826c4b36c97175e742d47cf: "{{unknown}}" _oembed_741473ebbb968e1e3e9de966d3fd2373: "{{unknown}}" author: login: broberts65 email<EMAIL_ADDRESS>display_name: Bob Roberts first_name: '' last_name: '' ---
I just stumbled upon some great reference material from ESRI. Go to http://j.mp/aLahIL for the media gallery. There you will find videos from summits and the like. There are several good ones about Geoprocessing Tools and Python.
BR


This parameter controls if Postfix will forward mail with sender-specified
routing (user[@%!]remote[@%!]site) from untrusted clients to destinations that
are blessed by the relay_domains
parameter.
By default, untrusted clients are not allowed to specify routing.
This closes a nasty open relay loophole where a backup MX host can
be tricked into forwarding junk mail to a primary MX host which
then spams it out to the world.


Pride and Prejudice book cover
Adventures of Huckleberry Finn book cover
Alice's Adventures in Wonderland book cover
Mars is my Destination book cover
The Princess and the Physicist book cover
Frankenstein; Or, The Modern Prometheus book cover
The Yellow Wallpaper book cover
War and Peace book cover
The Adventures of Sherlock Holmes book cover
Metamorphosis book cover
The Kama Sutra of Vatsyayana book cover
The Adventures of Tom Sawyer book cover
Moby Dick; Or, The Whale book cover
A Tale of Two Cities book cover
Ulysses book cover
Great Expectations book cover
The Romance of Lust: A Classic Victorian erotic novel book cover
A Modest Proposal book cover
Narrative of the Life of Frederick Douglass, an American Slave book cover
The Picture of Dorian Gray book cover
Jane Eyre: An Autobiography book cover
Il Principe. English book cover
Dracula book cover
A Doll's House : a play book cover
The Importance of Being Earnest: A Trivial Comedy for Serious People book cover
The Men in the Walls book cover
Les Misérables book cover
Grimms' Fairy Tales book cover
Emma book cover
A Christmas Carol in Prose; Being a Ghost Story of Christmas book cover
Wuthering Heights book cover
Leviathan book cover
The Count of Monte Cristo, Illustrated book cover
Peter Pan book cover
Gulliver's Travels into Several Remote Nations of the World book cover
Siddhartha book cover
Autobiography of Benjamin Franklin book cover
Dubliners book cover
Spoken For book cover
The Divine Comedy book cover
My Secret Life, Volumes I. to III. book cover
The Republic book cover
Le Morte d'Arthur: Volume 1 book cover
Sense and Sensibility book cover
Leaves of Grass book cover
Pygmalion book cover
The Time Machine book cover
Motor Matt on the Wing book cover
Beowulf (133) book cover
The Awakening, and Selected Short Stories book cover
Free Russia book cover
The Jungle book cover


THE WORLD IS NOT ENOUGH A film review by David N. Butterworth Copyright 1999 David N. Butterworth
*1/2 (out of ****)
The most depressing thing about the depressingly pedestrian James Bond film "The World is Not Enough" is its final frame: white letters on a black background proclaiming "James Bond Will Return." Oh I certainly hope not.
With Pierce Brosnan in his third and reportedly last go-round as James Bond 007, "The World is Not Enough" is the best example to date that "'Enough" is enough.
In this, the 19th chapter in the seemingly-endless franchise featuring Ian Fleming's debonair British secret agent who likes his martinis--and his nemeses--shaken not stirred, the sub-inspired screenwriters have chosen to rehash all of the setups, stunts, and sexy encounters of the previous 18 Bond flicks rather than coming up with anything the slightest bit original.
We've got previously-used speedboat chases, ski chases, and sticky situations aboard nuclear submarines. We've got a couple of hot-to-trot babes without an ounce of acting ability between them. We've got a post-Cold War megalomaniac bent on world domination slash destruction (here played by a skinheaded Robert Carlyle with mean, lean panache). And, as has been the case since 1977's "The Spy Who Loved Me," we've got a plot that has nothing whatsoever to do with anything conceived by Mr. Fleming.
We've also got a main title song by Garbage to which, with very little effort, you can fit the lyrics to *both* songs from "Tomorrow Never Dies."
While originality was never the series' strong suit, the films were almost always fun, with at least some thought going into the nonstop stunts. I can't think of one memorable set-piece in the entire--and very dull--"The World is Not Enough."
In addition, Michael Apted (yes, the respected director of such films as "Coal Miner's Daughter," "Nell," and the "28Up" documentary series) takes embarrassing advantage of the full range of Bond clichés. You get the "talking killer" plot device--you know the scenario: the bad guy has the good guy at his mercy yet waxes poetic just long enough to die of old age. And you get a slew of high-priced assassins who can't hit a barn door at 20 paces: in the film's opening minutes (of an endless 128), Bond chases a sultry sniper along the Thames and the leather-clad lovely fails to hit Bond's souped-up "fishing boat" with a bazooka when he pulls within a few feet of her. Later, she takes off in a hot air balloon with Bond dangling from a guy rope beneath her but is still unable to take him out.
These reliable absurdities are more frustrating than usual since there are no distractions other than occasional ads for luxury automobiles, vodka, or credit cards.
In and among the rampant product placements, Brosnan grapples with Carlyle, "Braveheart"'s Sophie Marceau (as former kidnap victim slash heiress Elektra King; she's terrible), "Wild Things"' Denise Richards (as a nuclear physicist Lord help me; she's laughable), and Judi Dench as M. Dame Judi brings the only shred of dignity to a series that has long since jettisoned its self-respect (about the time Roger Moore inherited Bond's Walther PPK).
Brosnan goes through the motions with the grace and charm you'd expect of the former "Remington Steele" star, but even he has to be thinking there's more to life than an easy paycheck. He's given plenty of wiseacre asides to deliver, but only one of them--"I don't know any doctor jokes"--made me chuckle (although "I thought Christmas only comes once a year" is more in keeping with the series' penchant for grown-worthy puns).
Face it, 007. The World has had Enough.
-- David N. Butterworth<EMAIL_ADDRESS>Got beef? Visit "La Movie Boeuf" online at http://members.dca.net/dnb
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


LIT2EPUB(1) LIT2EPUB(1) NAME lit2epub - simple LIT to EPub conversion SYNOPSIS lit2epub lit-document [epub-document] DESCRIPTION lit2epub is a command line tool for converting a LIT document to an EPub document. It uses clit and zip for the conversion. lit2epub needs to be run with at least one arguments, the LIT document to be converted. The second argument, epub-document, is the resulting EPub document. If it is not specified, the output EPub is named after the input LIT document, with the .lit extension changed in .epub, and placed in the same directory as the LIT document. AUTHOR lit2epub was written by Ely Levy<EMAIL_ADDRESS>This manual page was written by Pino Toscano<EMAIL_ADDRESS>for the Debian project (but may be used by others). LIT2EPUB(1)


14-year-old Green Bay girl shoots two deer with one arrow while hunting in Door County
GREEN BAY, Wis. - A 14-year-old girl from Green Bay had an amazing moment while deer hunting after she shot two bucks using only one arrow.
According to WLUK-TV, Matiah Christensen was north of Sturgeon Bay when the impressive feat happened.
"I did not think I got both of them at first," said Christensen. "I was like in shock."
Christensen told reporters she had no interest in one of the deer that came by.
"A three-pointer walked out and we were like 'OK, it's a buck, but it's really small,'" said Christensen. "So, we waited for it to go by."
WLUK-TV said the deer returned over an hour later with some does and an eight-point buck. After taking the shot, Christensen followed a blood trail.
"There was a long blood trail so we figured it must have went through the eight-pointer and deflected off a rib and sliced the three-pointer's neck," said Christensen.
Christensen decided to keep the eight-point buck using one tag, and the state's Department of Natural Resources allowed her to keep the three-pointer's antlers. According to WLUK-TV, she is planning to hang up both along with the special arrow.


Bulgaria, officially the Republic of Bulgaria, is a country located in Southeastern Europe. It is bordered by Romania to the north, Serbia and Macedonia to the west, Greece and Turkey to the south and the Black Sea to the east. With a territory of 110,994 square kilometres, Bulgaria is Europe's 14th-largest country. Its location has made it a historical crossroad for various civilisations and as such it is the home of some of the earliest metalworking, religious and other cultural artifacts in the world.
The population of 7.36 million people is predominantly urban and mainly concentrated in the administrative centres of its 28 provinces. Most commercial and cultural activities are concentrated in the capital Sofia. The strongest sectors of the economy are heavy industry, power engineering and agriculture, all relying on local natural resources.


dataknead¶
Fluent conversion between data formats like JSON, XML and CSV
Ever sighed when you wrote code to convert CSV to JSON for the thousandth time?
import csv
import json
data = []
with open("cities.csv") as f:
reader = csv.DictReader(f)
for row in reader:
data.append(row)
with open("cities.json", "w") as f:
json.dump(data, f)
Stop sighing and use dataknead
:
from dataknead import Knead
Knead("cities.csv").write("cities.json")
Or make it even easier on the command line:
knead cities.csv cities.json
dataknead
has inbuilt loaders for CSV, Excel, JSON, TOML and XML and you can easily write your own.
Philosophy¶
dataknead
is intended for easy conversion between common data formats and basic manipulation. It’s not a replacement for more complex libraries like pandas
or numpy
, but instead can be a useful addition to those libraries.
The API is as minimal as possible and fluent.
The loaders for the different file formats are built upon existing and well-tested libraries like xmltodict and openpyxl.
Installation¶
Install dataknead
from PyPi.
pip install dataknead
Then import
from dataknead import Knead
Basic example & tutorial¶
Let’s say you have a small CSV file with cities and their population called cities.csv
.
city,country,population
Amsterdam,nl,850000
Rotterdam,nl,635000
Venice,it,265000
And you want to load this csv file and transform it to a json file.
from dataknead import Knead
Knead("cities.csv").write("cities.json")
You’ll now have a json file called cities.json
that looks like this:
[
{
"city" : "Amsterdam",
"country" : "nl",
"population" : 850000
},
...
]
Maybe you just want the city names and write them to a CSV filed called city-names.csv
.
from dataknead import Knead
Knead("cities.csv").map("city").write("city-names.csv")
That will give you this list
Amsterdam
Rotterdam
Venice
Now you want to extract only the cities that are located in Italy, and write that back to a new csv file called cities-italy.csv
:
from dataknead import Knead
Knead("cities.csv").filter(lambda r:r["country"] == "it").write("cities-italy.csv")
This gives you this:
city,country,population
Venice,it,265000
Nice huh?
For a full list of all available options see the API documentation.
Advanced example¶
Check out the advanced example. This also shows you how to do more complex data manipulation using external libraries like jq.
More documentation¶
Credits¶
dataknead
is written by Hay Kranen.
License¶
Licensed under the MIT license.


Brian Sewell's panel show appearances
Brian Sewell (born 1931-06-15[ref]) has appeared in 12 episodes between 1997-2004. Brian Sewell on IMDB. Brian Sewell on Wikipedia.
- 2004-10-01 / The News Quiz
- 2004-06-27 / Call My Bluff
- 2003-06-26 / Call My Bluff
- 2003-06-04 / Call My Bluff
- 2002-02-12 / Call My Bluff
- 2001-10-05 / The News Quiz
- 2001-01-09 / Call My Bluff
- 2000-03-23 / Question Time
- 1999-09-08 / Call My Bluff
- 1999-05-21 / Have I Got News For You
- 1998-10-29 / Question Time
- 1997-12-05 / Have I Got News For You


--- layout: post authors: ["Greg Wilson"] title: "Three Graphs I Would Like to See" date: 2015-08-31 time: "00:30:00" tags: ["Research"] ---
I spent part of the weekend chatting with a friend in Cambridge who used to be science editor at The Independent and now edits Scientific Computing World. During those conversations, I realized that there are three graphs I'd really like to see:
Ask the managers of high-performance computing centers what fraction of their budget they spent on hardware, software, and training, and what fractions they would like to spend. My prediction is:
Measure how much computing power all of the scientists at a university (not just those with HPC accounts) use during a year. My prediction is:
Classify all the support requests received by HPC center staff according to technical complexity, and see how that changes after something like a two-day Software Carpentry workshop. My prediction is:
The first tells us how much political interference (i.e., administrators' desire for photo opportunities) skews computing priorities. The second will show the mis-match between where computing money is spent and what most scientists actually do, while the third will show that training doesn't just help scientists directly: it also improves the ROI of highly-skilled support staff.
So, anyone looking for a PhD research topic?


|
daddy
1.2.0
|
#include <dd_escaper.hpp>
Additional Inherited Members | |
| Public Types inherited from Daddy::EscapeModel | |
| enum | CycleType { Init, Quit, Move, Copy } |
| using | InitCB = void(*)(void *self, InitType type) |
| using | QuitCB = void(*)(void *self) |
| using | MoveCB = void(*)(void *self, void *rhs) |
| using | CopyCB = void(*)(void *self, const void *rhs) |
| Public Member Functions inherited from Daddy::EscapeModel | |
| int64_t | __em_enter (CycleType type) |
| void | __em_leave (CycleType type, int64_t timeNs) |
| void | __em_operatorMove (void *self, void *rhs) |
| void | __em_operatorCopy (void *self, const void *rhs) |
| EscapeModel (EscapePlanP *ep) | |
| Static Public Member Functions inherited from Daddy::EscapeModel | |
| static EscapePlanP * | __em_build (const EscapePlanP *super, Daddy::utf8s name, uint32_t size, Daddy::utf8s file, uint32_t line, InitCB icb, QuitCB qcb, MoveCB mcb, CopyCB ccb) |
| static void | __em_release (EscapeModel *model, void *self) |
| static void | __em_release_alone (EscapeModel *model, void *self) |
| Static Protected Member Functions inherited from Daddy::EscapeModel | |
| static EscapePlanP * | __em_plan () |


--- layout: default title: "Home" excerpt: "Resources to get started with Algorithmia" exclude_from_search: true ---
Welcome to the Algorithmia Developer Center. Here you can find guides showing how to use the Algorithmia Clients to call any of the pre-trained models or algorithms that are available on our marketplace in the language of your choice.
You can also find tutorials for Working with Data on Algorithmia and learn how to Write your own Algorithm and deploy it on our platform.
Also, check out our guides to Deploy your Models using machine and deep learning frameworks such as Scikit-learn, PyTorch, and Tensorflow with our AI Layer.


PostgreSQL is a relational database manager that keeps getting more and more popular within the web development community. It has taken over from MySQL as the preferred tool for production quality, scalable databases. The rise in popularity is likely due to the backlash from Oracle purchasing MySQL, Heroku choosing Postgres as the preferred database in production, and Postgres’ faster pace of development of new features like Arrays and HStore.
There are a lot of confusing options for installing PostgreSQL. In fact, your Mac most likely came with a system version of Postgres. The problem is that version is already likely out-of-date, and may even be insecure. It is better to keep all programs you use for development in user space instead of installed system-wide if possible, so that you don’t mess with what Apple configured the system to expect.
I prefer to use the homebrew package manager because it makes it easier to keep the software up-to-date. Brew also installs all commands needed to manage Postgres to standard locations in your path, which makes it easier to use on the command line, and easier for libraries like Ruby Gems and npm packages to interact with.
This lesson below will teach you how to install PostgreSQL, the easy way, on a Mac. This tutorial is designed for Max OS 10.9 - Mavericks. If you don’t have Mavericks, upgrade your mac first.
You’ll need to do many of these steps in the command line.
Copy the install command from the Install Homebrew section, near the bottom of the page on http://brew.sh
Caveats:
Don’t re-install homebrew if you already have it.
If you already have it, make sure to do a brew update
to ensure you have the latest package info on your system.
If you have MacPorts or Fink installed, this tutorial won’t work for you. I recommend switching to Homebrew anyway as it is kept up to date more often.
If you have homebrew installed via RVM (it happens), your paths will begin with /home/username/.rvm/usr/local instead of just /usr/local - not to worry.
Paste the install homebrew command into the Terminal. It should look somewhat like the picture above.
You may already have these if you’ve been developing for a while. If you see the dialog above, let them install.
This step can take a while, hopefully you are on a good connection.
Homebrew needs your user password to set itself up. Enter it in the terminal. Be careful typing, because you won’t see your typing echoed back to you. It may seem like it’s not working, but if you enter in your password, and then press return, it should work.
You should see “Installation successful!”
You should see “Your system is ready to brew”. If not, there should be instructions on how to fix each issue it finds.
use the command brew install postgres
to get PostgreSQL
It’s a lot of text scrolling by and the temptation is to skim over it. ALWAYS read the Caveats section when installing with Homebrew. It contains critical info. I’ll go over what you need.
“` mkdir -p ~/Library/LaunchAgents ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
“`
These two commands create a LaunchAgents directory (if it didn’t exist already), and then make a symbolic link to the postgres configuration (property list) file. This is how you get PostgreSQL to start up automatically with your Mac.
copy launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist from the homebrew caveats section
load the plist into the launch control service so that postgresql will automatically reload if needed.
paste in the launchctl load command
Because Mac OS X comes with a system PostgreSQL, we want to make sure to load up our homebrew PostgreSQL first.
use the command
sudo nano /etc/paths
Copy (or retype) /usr/local/bin from the bottom of the file and put it on the top line.
Press Ctrl-X to save the file and answer yes.
Save the file in its existing location (/etc/paths)
Use the unix cat
command to confirm that your changes were saved
I know, this is Unix and not windows. But this is seriously the easiest way to do this. Don’t skip this step.
After rebooting, your which psql
command should return /usr/local/bin/psql
the which psql
command should return /usr/local/bin/psql
createdb whoami
Make sure to use backticks, they are below the tilde (squiggly line) character underneath the escape key on a US keyboard.
This just makes it easier to use the psql command.
Great! you can get into psql without any errors
gem install pg
and you’re good to go
Windows is straightforward: use the installer from Postgresql.org You can accept all of the default options.


SingleCellTK’s user interface allows users to save their analysis to local in the following three approaches:
- Save the background SingleCellExperiment object to RDS file, which can be used in R and analyzed with SCTK and many other choices of tools.
- Save the background data to AnnData object, which is Python based and can be analyzed with scanpy and many other choices of tools.
- Save the background data to text files. The count matrices (assays), cell/feature annotation tables, dimension reduction matrices, feature subsets and metadata will be saved separately within a folder.
Users should find these functionality through the way instructed by the screenshot above.
Save to RDS file
To save the analysis to RDS file, users need to:
- Select the path at “Select directory”
- Choose the option “Download as RDS file” from the radiobuttons
- Specify the file name at the text input “File Name”
- Click on “Download” button
Save to AnnData
The simplest steps to save the analysis to AnnData format is similar as how users save an RDS file. To save the analysis to RDS file, users need to:
- Select the path at “Select directory”
- Choose the option “Python annData object” from the radiobuttons
- Specify the file name at the text input “File Name”
- Click on “Download” button
For Python’s AnnData object, there are a few more specifications.
- Unlike the data structure (SingleCellExperiment) that SCTK adopts, AnnData does not hold multiple assays at the same time. Users will need to make sure which assay should be the main count matrix to use, at the selection input “select assays”.
- Anndata offers the functionality to compress the saved file, so users can also choose to increase the compression level at the numeric input “Compression Opts”.
- Usually the specified main matrix will be saved as a sparse matrix, which saves a lot of computation memory. Users can also choose to save it as dense matrix by checking the option “Force Dense”.
- If “Overwrite” is checked, the exported file will be directly written to the specified path. If it is unchecked, the data will not be exported if a file with the same name and path already exists.
Save to flat files
Similarly,
- Select the path at “Select directory”
- Choose the option “Flat text files” from the radiobuttons
- Specify the file name at the text input “File prefix”
- Click on “Download” button
As mentioned at the beginning of the documentation, there will be several files for different information being saved. SCTK will create a directory under the path that users select at the first step, named by “File prefix”, all text files will be stored in this folder.
For additional specifications:
- If “Gzip Compress” is checked, each of the file will be compressed within the output folder.
- If “Overwrite” is checked, the exported file will be directly written to the specified path. If it is unchecked, the data will not be exported if a file with the same name and path already exists.


Note: We use href="#" for test links. In a real web site this would be URLs.
In this example, we remove the bullets from the list, and its default padding and margin.
A background color is added to the links to show the link area.
Notice that the whole link area is clickable, not just the text.
In this example, we create an "active" class with a green background color and a white text. The class is added to the "Home" link.
Notice that this div element has a left margin of 25%. This is because the side navigation is set to 25% width. If you remove the margin, the sidenav will overlay/sit on top of this div.
Also notice that we have set overflow:auto to sidenav. This will add a scrollbar when the sidenav is too long (for example if it has over 50 links inside of it).
Some text..
Some text..
Some text..
Some text..
Some text..
Some text..
Some text..
Note: If a !DOCTYPE is not specified, floating items can produce unexpected results.
A background color is added to the links to show the link area. The whole link area is clickable, not just the text.
Note: overflow:hidden is added to the ul element to prevent li elements from going outside of the list.


An edited collection of advanced computing news from Communications of the ACM, ACM TechNews, other ACM resources, and news sites around the Web.


This example shows how to display objects from GeoJSON file on the map using built in parser.
In order to work with GeoJSON files we have to additionally load data module of the API. Than we use H.data.geojson.Reader class, which downloads and parses the file. Than we add a layer on the map using addLayer method to see the results.


--- layout: post title: "My Week in Review" date: 2017-07-23 07:40:00 +0000 tags: image: https://s3.amazonaws.com/audreywatters/2017-07-23-gull.jpg imagecredits: https://www.flickr.com/photos/143684744@N07/32793419415 ---
Icon credits: The Noun Project


Hello Guys I am Qinghang Zhang, I am current a student working for BS in GreenRiver College. I am also a International student comes from China. I used be a cook in China, but one day I see my sister working the technology jobs(She is a full stack developer in China), I decide to get education and also change my life to GreenRiver College. For my goal, I am doing my BS degree for IT-Software development in GRC and try to get the master degree in Northeastern University Seattle for computer science cause I am prefer back-end developer.
Here is some screen shot for my group project which is my best project , in this project I work with my team, we get very nice group work together , every one works for different part and co-operator well