text:
The story of Konami-JS
☝ ☝ 👇 👇 👈 👉 👈 👉 B A 🚀
Jerod and Divya are joined by George Mandis to learn all about his "frivolous" JavaScript library that's helped countless websites implement the beloved cheat code. Ten years later and still actively maintained, Konami-JS has stood the test of time and produced some epic stories along the way (you'll love hearing how George broke Marvel.com).
George Mandis – Twitter, GitHub, LinkedIn, Website
Gauge – Low maintenance test automation! Gauge is free and open source test automation framework that takes the pain out of acceptance testing. Less code, less maintenance, more acceptance testing. Gauge is a free and open source test automation framework that takes the pain out of acceptance testing. Gauge tests are in Markdown which makes writing and maintaining tests easier.
Brush up on your Contra knowledge
Here's the Konami-JS repo on GitHub
Try it for yourself on huffpost.com
here's the issue we discuss regarding keyCode
Party Parrot as a Service
Also the OG: Cult of the Party Parrot
confetti-js (might break your computer)
Check out vaporJS
And its security-focused successor: Semicolon.js
cloud-to-butt went mainstream
thanos-js might be the greatest package of all times
Party on, party people! Let's make some noise! Divya is in the house. Jump, jump, rejoice. What's up, Divya? Welcome to JS Party!
Hey, hey!
Glad to have you. Divya, let me ask you a very serious question… When I say to you "Up-up, down-down, left-right, left-right, BA", what do you think of?
Like a video game or something? I don't know…
A video game… Ding-ding-ding-ding… Very good. Today's show is all about video games, or at least a specific video game; or maybe not even games in general, but cheat codes specifically… And we have a very awesome guest here to talk to us about Konami-JS, George Mandis is on the show. George, thanks for joining the party.
George Mandis
Thanks for having me.
We are excited to talk about Konami-JS. First of all, give us the history of this… Maybe talk about the Konami code in general, because maybe some people didn't play Contra back in the day, like I did… Because as soon as I hear those words, I've always gotta throw the "Select Start" in there at the end, because you wanna get that 2-player going, and free 30 lives. Not actually part of the Konami code, but I always memorize it, "B, A, SELECT, Start", because I've gotta get P2 going… But I have that frame of reference, and I'm sure a lot of our listeners don't have that frame of reference. Tell us about the Konami code, and then we'll talk about Konami-JS and how it got started.
Yeah, definitely. I think maybe we're in the similar age demographic you and I, because you and I probably remember it that way. I used to think Start was actually the end of the code for a very long time, until the internet corrected me at some point. But yeah, going back to it, the Konami code is, exactly… This goes back to the original Nintendo gaming system back in the late '80s through early-mid '90s, however you wanna look at it.
There was a game company called Konami, and with a lot of their games they included a sequence of basically button inputs you could do on the controller to enable certain features in the game, to enable certain upgrades, or shortcuts, or Easter eggs, or things of that ilk… And for many of their games it was the same sequence of inputs on the controller… And because it was by Konami, it kind of became known as the Konami code. I remember reading about that in game magazines, and things like that, back in the early '90s.
It was the coolest thing to know the code, because back then, pre-internet, cheat codes were very hard to come by. I remember Nintendo had a game genie, where you could actually do cheats like that, buy beyond that, it was a secret sauce to know a cheat code, so you wanted to tell everybody… Showing that to your friends was always a way to be cool in video game terms, back in the day.
[00:04:00.11] And when it came to Contra specifically, it was pretty much required, because it was one of the hardest games of all time. [laughter] A side-scrolling shooter where you're – kind of a platforming shooter, one or two players, and you get three lives by default, and unless you're awesome, there's just no way that a kid is gonna make it through Contra all the way. But if you do the Konami code, each of you get 30 lives instead of three, which is actually the right number for making it through. Generally speaking, you can complete Contra with 30 lives, but just no way with three lives. At least I couldn't, because I didn't have those skills.
So it became very popular for that reason. Kind of a viral code, because yeah, you wanna share it with your friends, it's a two-player game… And I remember I used to write it down, and then try it over and over again until you can get it right.
Did they use it on a bunch of their games? Because Contra was the only frame of reference that I had, but did it become a thing that all Konami games, or many Konami games used that code?
I know Contra was the original one, as I understand it… I'm sure they used it in – I mean, there's probably a list somewhere. I remember using it in a lot of other Konami games, as a kid. I can't remember specifically which ones, but… It was frequent enough. And it became such a well-known code… I remember some other non-Konami companies would sometimes put that code into their games, as sort of an homage to that, to enable certain things…
Divya and I were just chatting before the show started about video games, because we were talking about home offices, and the fact that she's got a Nintendo Switch in her living room, and she doesn't want an office out of her living room because she's got the Switch right there… Divya, you mentioned that you have been playing a lot of Switch games, but you're not a lifelong gamer, or you haven't been around – are you familiar with Contra, or did you play that at all?
I actually don't know what that is… Because like you said, I didn't grow up playing video games. Maybe I am not in that demographic, but I also am not in my own demographic, because I did not play video games. I think my brother had one of those Playstation – the Nintendo Gameboys… But that's the only… I didn't actually play a game. I played games on PC, which was very different.
Well, I'm on the Wikipedia page, which we'll put in the show notes, for those not familiar with Contra. I don't blame you, it was released on February 20th, 1987, so… I mean, we're going back there. That being said, I do believe it's on the new NES Classic, so if you're after it and you wanna give it a shot, you can get that NES Classic for $60, something like that, or maybe $90. If you can find one and you can catch up on all your Contra needs…
George, tell us about Konami-JS. This is one that's been around for a while. I remember seeing it back in the day, and of course, being a Contra fan, I was like "This is awesome!" But I didn't realize it was still around… You just don't think about - you know, with certain JavaScript libraries - the people that built them, or their history, and stuff like that… So how did Konami-JS come to be?
I remember in – I think it was early 2009 or so, I'd been a freelance web developer for like two years at that point, almost three years, and I remember reading an article about someone who'd figured out that if you enter the Konami code while you're on ESPN.com, a bunch of unicorns show up on the page, or something goofy like that. I think it was using the Cornify library, or something like that, which might still be around also… And I thought, "Well, that's really funny", and I went and I checked it out, and it was great. That spawned a bunch of articles about other websites you can go to that have secret Konami code things hidden away. There was a few of them. And I think shortly after that Facebook came out with one.
At the time, I thought it was a fun thing to make, and a lot of tutorial articles kept popping up on how to do that… Most of them using jQuery, because jQuery dominated 99% of the web (it felt like) at that point, for JavaScript stuff. And I thought, "Well, that makes sense", but even in 2009 there was a part of me that was like "I wonder if there's a way I can make this not jQuery-dependent", because I don't wanna have to load that for something this stupid. [laughter] It feels kind of heavy-handed.
[00:08:08.08] So I saw that, I thought it was cool, and I wrote a little non-jQuery-dependent implementation, and I put it out there. That was fine, and a few people – I put it out there on Google Code at the time, which we can talk about later… And a few people picked it up, and that was great. Then I also had at that point the first iPhone; I had the slowest, smallest iPhone that was ever in existence, basically. I had the 4GB initial one, and I loved that thing… And I thought "Well, it'd be kind of cool if somehow the Konami code could also work on my phone. There's gotta be a way."
So I extended my little Konami-JS library to include touch events, so that you could do the Konami code on smartphones. That's when it really took off, because it was pretty easy to copy and paste the code, or to come up with your own code… Just listen for a sequence of key events, but… The touch events were a little trickier; there was a little more going on there. So I think that's what made my library at the time just slightly different enough to be worth using, and for whatever reason it just kind of caught on at that point, and a lot of people started using it.
I think the other thing that made it popular at the time is I tried to make it really easy to use for people that were not necessarily developers. I had an example, and it was literally two lines of code; if you just wanted to throw a new string in your site, where after you enter the Konami code it redirects to another website, here are the two lines to copy and paste somewhere into your blog, and you just change the URL to where you want it to redirect to. I think somewhere between the touch events on the – like, ease of use for non-developers, it was popular at the time. It just hit at the right time.
I'm curious about the touch events… So it was up-up, down-down. Are they swipes? Do you touch the top part of the screen? How would that work with mobile?
They're swipes. The swipes map pretty well. You swipe up for us, you swipe down for down etc. The part where I sort of cheated, and I wrote about it in the documentation, is for A and B we just do two taps, because I could think of a much better way to do that. So technically, it's like up-up, down-down, left-right, left-right, tap-tap when you're doing it on your phone… Because it seemed like a reasonable trade-off. I thought, you know, if you wanna be really elaborate, we could try to actually draw the letter B on the screen, but at the time that seemed like a little bit much.
This is definitely my ignorance around what constitutes a Konami code… Do you have examples of what a Konami code would look like? Because you mentioned a little bit about how it was on different sites there was like unicorns on a page, and… It can be any form of an Easter egg on a page? It's not a specific type?
Yeah, so I don't know what the exact definition of an Easter egg is, but anything that's hidden and, by my definition, a little useless… But yeah, there's a lot of different applications. The ESPN one was the first one I remember noticing in a while. It got a lot of attention; it just added unicorns all over the page. If you go to HuffPost.com, they're actually using Konami-JS, and if you enter the Konami code right now, it changes the title of HuffPost to FluffPost, and all of the photos get changed with pets, and people's dogs mostly. It made me laugh, I discovered that a while ago. It really surprised me that actually it was still being used… You know, it's not this terribly difficult thing to write, but… I think I've described this project - it's just simple enough that you feel like you shouldn't need a library, but just ever so slightly non-trivial enough that you might as well just include this library.
HuffPost has it, Marvel.com used it way back in the day, which is a funny story…
[00:12:03.19] I actually wish I'd done more over the years to document where it was used, because I kind of retroactively started researching it when I decided it'd be a fun story to tell… And I actually went through archive.org, of all places, to find old references and sometimes old snippets of sites that had used it. I know on Tesla.com you could design your car online, and they had extra features enabled if you entered the Konami code; I don't know exactly what, because I never bought a Tesla, so I don't really know… But all kinds of things.
I saw one application where they were using it to test and debug somebody's website, in a somewhat serious way, which kind of surprised me… Newsweek used it for a while as well. When you entered it on Newsweek, it would replace all the headlines with something about zombie attacks.
That's awesome.
Nice. I just tried FluffPost.com, by the way, and it still works today, so… [laughs]
Yeah, some of those are really funny actually; some of the headlines paired with the pet photos make me laugh.
How did you actually find them on archive.org? Are they loading it from a CDN? I would assume people would be minifying it out… Or is there a string you can search for?
Yeah, if you just generally search for konami.js – I mean, that's about as well as I'm able to do it… The example code that people could copy and paste back in the day basically introduced Konami as like a giant global to your site… So whatever reason it's somewhat easy to find that code, if you start searching through archive.org. It's also easy to find people referencing it and then through a little slew thing you can pull up old versions of sites that they reference. That's how I've found the Tesla thing. I didn't find Konami-JS in Tesla's code on Archive.org; I found an old forum post referenced to it being available on tesla.org in 2010, or 2011, or whatever… And then through Archive.org I went back and I was able to look at the source and figure it out. I'm like "Oh yeah, it is up here. That's funny."
What else was it used on… I think Anonymous hacked some .gov site and threw it out there, which is kind of weird… It wasn't a real compromise with this; it was goofy… I think it loaded another JavaScript library that makes a game of asteroids appear on top of the page, and then you can start shooting at all the elements on the page, and they explode, or something like that.
You mentioned that Marvel.com used it, and I read that broke Marvel.com somehow. Did they forget a semicolon, did they use it wrong, or was there actually an Easter egg that caused problems?
Technically, I did it, I broke it… [laughter] But it was only for about a minute.
Statute limitations out by now?
I mean, it was ten years ago… I don't think anyone noticed. This was before all the Avengers movies, so I feel like it was getting slightly less traffic. I remember somebody on Twitter, within a year of me releasing that thing, just pinged me and said "Hey, I wonder what happens if you go to Marvel.com and use the Konami code." It was a kind way of letting me know that "Hey, we used your thing on this thing." I went and I checked it out, and I think Deadpool as like a weasel popped up on the page, or something… That was the Easter egg for that one. And I thought "Oh, that's really cool!" And I looked at the code and I'm like "Hey, they're using my project. That's great."
I got really excited, and I thought "Oh, you know what I should do - I should make that one improvement that I wanted to make to Konami-JS…" I don't even remember what it was, to be perfectly honest… And the way they'd implemented it - they implemented it in a way that I had in my example documentation, which is to link directly to the raw file on Google Code (I think, at the time), or possibly GitHub. There was a brief overlap where I had it on both early on; we'll talk about that later. But anyway, they were linking directly to the raw file in the repositories it was exposed, so when I updated it, it updated Konami-JS on their site, and I didn't test it, I didn't think it through; I just pushed it really quickly, because I was kind of excited, and then I went back to it and all the images were skewed…
[00:16:10.22] It was kind of like broken, and I reloaded it a few times, trying to figure out what was happening, before I realized "Oh, I think I did that…" [laughs] And I looked in the console and I figured out, "Oh yeah, I think I screwed that up." And then I reverted it really quickly. It was broken for like a minute, so… Apologies to Marvel, if they're hearing this.
Well, it could have been a lot worse. You had the capabilities of executing arbitrary JavaScript on their website, so it could have gotten real nasty for them if you were a malicious person, but… Good thing you're not.
Yeah, I know. That crossed my mind later, actually… Many years later, when I realized that a lot of people were doing that. Tons of people were linking – especially when I moved it to GitHub, a lot of people were linking directly to the raw file on the GitHub page, kind of using it as a CDN, which I don't think was really the way they wanted me to do that back then… Yeah, that crossed my mind, and I'm like "Oh, that's kind of scary, and bad", and it's a lot of people not realizing they're trusting me to not make their website redirect to something stupid, who knows what.
Or inject your cryptocurrency miner and harvest the world… [laughs]
Yeah, I know. That was less on the horizon in 2009, but yeah… [laughs]
George, one thing that's notable, even for sort of a silly library - I believe you used the word "silly", so I'm free to - such as Konami-JS, something that's adding a specific keyboard shortcut to a website, is that it's gone on for a long time. And there's very serious open source projects, and then there's less serious open source projects, but nonetheless, they're still open source… And it's a decade later, so the timespan of the project is interesting. As you mentioned, you were on Google Code, it has since moved to GitHub…
The web has changed, even if Konami-JS was maybe feature complete back then; we can talk about that, too. Maybe you've been adding stuff. But tell us about the timespan, the ten years - what's changed, what have you had to do? Sometimes just maintaining the status quo for a thing that even if you think it's silly or you don't even use it anymore, because the web changes, your code will rot. Tell us about that.
Yeah, so that's actually in some ways definitely been the most interesting part of the project - it survived ten years in JavaScript years, which is like probably closing in on a century in people years, or something… So when I first threw the project out there into the wild, I put it on Google Code, and I think it was using Subversion at the time. I don't think they offered Git at that time.
I kind of weighed my options. I was going back and forth between GitHub, Google Code, and I think SourceForge, which is also still around, but you seldom think about that anymore now. So I chose to put it out there, eventually Google Code got shut down and I moved it to GitHub, which ended up being the right choice, I think.
[00:20:04.07] At the time, I think when I first put it out there, I wanted it to work on all browsers and devices, so I had to work on IE6; that was a big requirement, I remember… And I wanted it to work on IE6, and I also wanted it to work on, like I said, my iPhone, at the time. My iPhone 1. It was just called the iPhone; there wasn't a number, because there wasn't anything else.
And I also wanted it at the time to not be jQuery-dependent, even though jQuery, like I said, was seemingly on like 90% of the web. I was starting to see, even at that point, that okay, jQuery is getting us out of the woods here, but I think long-term I don't wanna have to load a 100 kb library every single time someone comes to the page. Even though there's all these strong arguments for it, all these advantages, there's a purist inside of me that doesn't like to be too dependent on giant sprawling pieces of code that most of my site is not making use of.
Well, you were ahead of the game in that regard, because the people are learning that now, or have over time, and I've seen a rise in zero-dependency JavaScript libraries, which is awesome… But back then, I think you were ahead of the curve in that regard. And it probably helped you maintain it over time, because you weren't dependent.
Oh, it totally did, I think. Yeah, so that was the interesting thing. It was also my first foray into releasing a project that anybody else actually looked at and used and wanted to submit changes to, and stuff like that… So it was kind of a fun adventure in trying to debug some curious edge cases. I remember when it was on Google Code, I think using the Conkeror browser on Ubuntu, some early version of Ubuntu, it created problems, and I don't know how that got resolved honestly, but… Just things I'd never considered, things that would probably not come up now.
The other interesting thing I noticed when I released it was a lot of the pull requests that came in were things I'd not ever thought of, or in some cases cared about too much. I had a couple pull requests come in that just changed my spaces to tabs, and then back to spaces, and I'm like "Whatever, man…" [laughs] Sorry. That just kind of made me laugh, because I realize like "Oh yeah, people have strong opinions on these things", and I guess I should form – I have less strong opinions on some of those things, but I realize I need to make a decision and not just merge every request that comes my way.
A request came in for module loaders and dependency things, and people's very specific toolchains that they were using at the time, that I was not using, and in a couple cases was not even familiar with… And I remember early on – early on I merged almost any change that came in, which was a little silly; I mean after vetting it a little bit… But I became a little bit more judicious as time went on, a little more discerning. Because I realized that - again, getting back to the jQuery thing - I want this library to do two things; I want it to stand alone, I want anybody to be able to include this in their project, even if they're not really a developer.
That was part of the appeal to me - I wanted it to be something that very beginning developers, or people who just like to dabble… I wanted it to appeal and be usable by dilatants. I want a very low barrier to entry, and every time I started to introduce some sort of package management thing, the barrier to entry got raised up a notch, I realized, and every time I looked at that, I thought "I don't know if that's something that needs to necessarily be a part of a project like this." So figuring out a balance between accommodating people who use those toolchains, and things like that, versus making it a required part of using the project has been an interesting balance, I think.
Yeah, it definitely raises the usability aspect of it… Because often times when you do open source, you might wanna make changes where you're like "Oh, I could change everything to TypeScript, because it's better", and various things… But then if you weigh out, "Does it actually affect the end user?", and if it does, by adding extra complexity, then it might not be as useful.
[00:24:12.29] It might help you as the developer who's maintaining it maybe, but over time it can get a bit – as you said, less people might be keen on using it, or it might cause issues down the road. If you change code and then it's no longer compatible, and then someone using an older version updates, and then it no longer works, because their system is not built to handle the new code that you wrote, and so on…
Exactly. So in a roundabout way, by trying to make it compatible – I remember one request coming in for compatibility with Android JS, or something like that… And I've never used Android JS, and I don't even recall exactly what the change was, but I realized that "Oh, if I introduced that into my code, then I'm sort of beholden to however that project changes down the road." And again, getting back to [unintelligible 00:25:00.05] this project is delightfully frivolous, so… But even though this project, because of its frivolous nature, I can make choices like that, but I think it's a good exercise in just looking at almost any project releasing - realizing what other projects out there you're beholden to, or dependent on… Whether it's a literal dependency, or just like accommodating certain styles, or services, or whatever it is.
Because I think the web today is much more – I was gonna say "stack of cards". It sounds a little more fragile than intended, but it feels much more like a stack of cards than it did ten years ago. Things are so interdependent, and it allows us to make really wonderful things, but there's also a certain fragility… I don't know what to say about it actually, but there's something about it that sometimes concerns me. I don't want it to be lost that we can build things that are not dependent on a million other packages, or one of the big three or four tech companies and their products, and things like that.
I think it's really wonderful that you have found that balance in this project… Because this project's been around since 2009, and you're still making changes and updating minor things, and people are still using it… It's just incredible, because often times whenever it comes to open source, people talk about just being sick of a project, and wanting to just pass of the burden to someone else… Like, "I'm done. I've maintained this for years. I wanna pass the baton on to someone else who might be excited and wants to make those changes…" But you were able to find that very nice medium where you still enjoy working on it, and you're making changes slight changes to the documentation to make sure that it's up to date just a little, without being overwhelmed by it… Which I think is really neat.
But it also points to exactly what you talked about earlier, because Konami is so specific… And it's really tiny and super-fun, and I think people tend to forget that sometimes when we think about creating a project, either in open source or whatever, we tend to blow it out of proportion, where we can't just create this tiny thing, we have to make it a huge project, that does all these things, and has compatibilities with all these other frameworks… And then that initial fun side-project becomes a huge task, and then people just abandon it and never finish it… Si it's really neat to see that you were able to take something like – it seems silly, but it's also emblematic of joy. You really enjoyed it, and that totally shows, because you have been maintaining it and it's been up since 2009, and there's this whole history… And I don't think that's the case for a lot of projects out there, which I think is notable.
[00:27:54.19] Yeah, I can relate to a lot of what you're talking about. It's interesting – I definitely had the temptation to make it do more a few times, particularly early on. Everyone once in a while I have – there was a while I explored like "Maybe I should make it this really elaborate Easter egg framework library, that does all things for all people", but I kind of saw where that would go, and I'm like "That seems like something I would not really want to maintain", and it kind of kills the spirit of what it is. It does one thing, it does it well…
It could definitely be modernized, and that's something I've been sort of picking at the past 3-4 years off and on. I'd open my own issues… I made a little effort last – I wanna modernize it not so much for performance sake; it works, and as far as I can tell, it seems like it'll work forever, at this point. But I'd like to modernize it just because it is a script that a lot of beginning developers stumble into. I feel like it'd be beneficial to rewrite it in a way that is closer to what modern JavaScript looks like. But that comes with its own set of hurdles, which is really interesting, and we could get into that later.
I don't really want to necessarily lose the broad compatibility, because right now it work on Internet Explorer 7, last I checked… I think I dropped 6 support at some point. Because I think you couldn't call addEventListener(), you had to call something else; I'm blanking on what it was called. So I had a function that specifically used whichever method was available, because that's kind of how you had to do it back then.
So figuring out how to do that has actually been really tricky, and one of the things that's kept me from rewriting it all this time. It's like, I don't really know how to rewrite it in a modern way, that keeps it compatible for everybody, and if I do, then I have to introduce something like Babel, which is awesome and great, but then I'm introducing these heavy-handed dependencies for something that is really very trivial and kind of frivolous, and "Is that really necessary here?" Like, what's the point.
Yeah. Well, I often warn about the big rewrite, but at 150 lines of code, it's at least within scope of something you could accomplish. That being said, I would actually discourage it because of the reason that you said - introducing a build step, introducing a dependency or any sort of complication here, or… I actually think it's awesome that it runs on IE7, even if that doesn't matter anymore.
At a certain point, libraries like this are fun - like you said, frivolous, silly… They're more art than they are anything else maybe, so let it be what it is. I'm reading your readme about the 2.0 [unintelligible 00:30:36.01]. I was gonna ask you about that… And I get it, I understand the desire there. I think that's a good motivation, "What if somebody who's just coming to JavaScript reads this…?" Well, I think they'll learn about ES5 here; they'll learn things. [laughs] And it's formatted well, it's readable…
Yeah. I think a lot of people focus a lot on constantly updating things, and making sure that your code is up to date, so like "Don't use promises, use async/await. Don't use .char code or .key code. Use .key" and all these various things, with the new updates… Sometimes some things are good when they stay as is. It's not that you're in stasis and that you're not updating, and you're consistently keeping the status quo, or not growing, or whatever the association is with keeping the same thing… Yeah, maintaining the current state of things, but – there's definitely something to be said. When something works, I just think that if you can make an update that will not change it drastically, do it. But if that update is purely frivolous or purely for the sake of updating something, then why do it? But I really wanna hear this discussion about keyCode vs charCode, so yeah, go ahead.
[00:31:58.12] I'll touch on that in one second. I just wanted to speak to something that you mentioned. I totally agree, and what's interesting is I think the change for the sake of change is something that in some ways I feel permeates our industry massively… And it's interesting - ten years maintaining this project has been an interesting perspective on that, but also just ten years of being a developer is an interesting perspective on that, seeing things come and go, deciding what changes are really worthwhile. If someone stumbled across my project on GitHub, they'll probably think "Oh, this isn't maintained very much anymore. They haven't really made a change in a couple years", and I think that mentality in some way sort of serves into this idea that we need to be constantly changing things.
I feel like modern development has more in common with fashion than actual progress sometimes. It's kind of an interesting thing. I think about this a lot, especially when – I've taught a lot of bootcamps here in Portland, to beginning developers, and when we get to JavaScript, telling them exactly what to look at and what to do when they do their own research, it's hard to guide them in the right way sometimes, and tell them what they should do…
It's really hard to do exactly what you said, because GitHub tends to prioritize – when you look at a GitHub repo and it hasn't been updated… And I do the same thing - when I go on a GitHub project and it hasn't been updated in years, I'm like "Okay, I should not use this, because there's a change it will break everything that I try to use it on." And that might not be true. It requires investigation.
I guess maybe if you have a build that says "All builds passing", or something… Because otherwise it's hard to tell if it's not being maintained, if it's broken. I used Hammer.JS for a really long time, and I really liked it because it does a lot of gesture events, and stuff… And for a time it wasn't maintained; the maintainers kind of stepped away and just stopped updating it. And I was like "Oh, maybe this is something I shouldn't be investing my time in, because there's no active development on it", but it was still working. I could still use a lot of the gestures that were on there, like swipe, and whatever, and it gave me access to that… But just the fact that it wasn't in active development made me – and I think also people I was pitching it to, like managers, were like "Oh, we shouldn't use that, because it's not actively maintained."
I don't know if our industry has a sense of how exactly to fix that issue, because prioritization is always given to the latest and greatest thing… So discoverability is also an issue, because if something has been around for a long time, but hasn't gotten a recent update, it tends to kind of get shafted next to something else.
I feel like we've done a show – a part of that, Divya, is the individual responsibility of vetting your dependencies before you select them… And really what we're talking about is how do we message with each other; how does George say "Hey, this thing hasn't been –" the actual .js file, the main one, hasn't been updated, like you said, George, since July 2018. That doesn't mean the project is unmaintained. So we need ways of messaging to each other, "Hey, I'm done with this. I'm never gonna touch it again. It is unmaintained." Or "Here's a fork that works." The problem with that is the person who's burnt out or leaves the project, they don't wanna come back and put a sign up that says "Unmaintained", because they're gone, right? So sometimes that doesn't happen.
I feel like we did a show on this, or at least we talked about it a little bit. Maybe we should do a specific show on heuristics for dependency selection and for judging is something is worth pulling or not worth pulling, and all the things you said. Because there's tons of – if you're just going to GitHub and looking for the JS project with the most stars, you're doing it wrong. That being said, doing it right isn't necessarily easy, or even intuitive. Because the intuitive thing is "Look for the most popular one. That must be the best." So maybe we should follow up and do a whole show, or at least a whole segment on dependency selection… If we haven't done if before. I feel like maybe I'm repeating myself. Maybe there is one out there in the JS Party archive.
[00:36:08.19] We knew George would open up this Pandora's box, so… [laughs]
Yes, George, tell us about – bikeshed the keyCodes for us.
Oh yeah, the keyCodes… I have to remind myself – I documented it pretty well a few years ago in one of these issues. Basically, it was a note to myself, because people weren't logging a ton of issues at the time.
I think this was when I was looking into just generally modernizing the script… Let me see here. I'm actually gonna pull up the issue with my own notes, just to make sure I remember this right. Basically, there's a lot of different ways to figure out what key is being pressed if you're listening for keyboard events on a web page… And the ways that I was using earlier in the script were all – if you go to the MDN documentation, there's warnings about this way being deprecated and phased out. "You should not use this. This is not the way it's in the spec" etc.
I did a deep dive into that, and what I discovered is in theory there's three different ways that I was previously using that I should not be using, and there are two modern ways - Code and Key, that should be used. Actually, I'll add a direct link to that issue in the Slack, if people wanna see it. But in my experimentation, the ways of it being deprecated work on all the browsers, but the new ways don't… [laughs] Or have some weird inconsistencies in them. So I wasn't sure what to do. I'm like "Well, if I leave it…" – actually, I don't even remember off-hand which one I'm currently using…
I think you're using keyCode.
Yeah, I'm using keyCode. So keyCode is one of the ones that I technically shouldn't be using… But it works. The trade-off is also that unless you have an external keyboard – you're probably not using a keyboard on these devices we're talking about. That might have been what influenced my decision to not change that. I can't actually remember now. I know trying to get it to work on my iPad Pro was something I tried to do a few years ago.
I added a couple of keyboard shortcuts to Changelog.com. I actually remember going into this exact situation that I think I'm reading in your issue here, George… All I added was – while the on-site player on Changelog.com is playing, you can hit Escape to exit it, you can hit Space bar to pause, and then S will toggle speed of playback, which there's actually no UI for that; so it's a little bit of an Easter egg, but these are things that are minor, and I just did the keydown events, and switched on them. But I am using keyCode, and I tested on modern browsers; that's the one that you're using as well, although you're not supposed to be, so… I guess we're in the same camp.
The way I think of it is - in our case, it's kind of a progressive enhancement anyways. If it doesn't work, the site is not broken, so I just want a key code and go from there.
Yeah, that's right. It's funny, if you go to the 2.0 branch somewhere in my repository, I actually rewrote a modern version of Konami-JS. It's just sitting there; a couple people collaborated and helped me out with that… And I used one of the new keyboard event methods. I don't remember actually which one. I used whichever one worked on my iPad; that's what I recall. And then someone followed up on that issue and I let them know "Oh hey, I remapped my keys to use Dvorak or whatever, and it doesn't actually work." So I discovered this whole new hornet nest of curious issues where one of those tracks the letter that you're pressing, but other ones actually track the physical key location.
It just made me think about it in a way I had not considered, and I'm like "Oh, that's a whole different nest of problems that I have to consider." It was just really funny how basically what you would think is a very simple thing turned out to be kind of a rabbit hole when I started going into it.
Break: [00:40:06.03]
Well, we thought it would be fun to finish this conversation about Konami-JS by talking about other JavaScript libraries that are similar, but different. One thing I love about our community is we have fun, we do silly artsy – what do you call them…? Frivolous things. Like, why not? Let's have some fun. It's the web. These are the things I love about the web. It's what makes it what it is… So Konami-JS is not the only one. We thought we'd point out a few others and discuss them as well.
There is one that is pretty cool - everybody knows who the Party Parrot, right? Party Parrot - that fun little animated dancing parrot that is probably all up in your Slacks, or at least shows up in random parts of the interwebs… There's a lot of actually JavaScript libraries in support of the Party Parrot. The coolest one that I've found is Parrotify.github.io. Party Parrot as a service. You enter an image URL to overlay, you put an image in, you choose your parrot, the original, the OG parrot, the flipped parrot, middle - I'm not sure what middle means; it dances to the middle, instead of to the side. The conga parrot, which is just a whole conga line, or the bored parrot, which just sits there and doesn't actually party. Not much of a party parrot, if you ask me… And then you get your Party Parrot as a service and you get a URL basically that you can pass into Slack, or into Reddit, or whatever… And it's all powered by JavaScript.
Divya or George, are you fans of the Party Parrot? Do you use the Party Parrot? Some people love the party parrot, other people despise it. I tend to be pro Party Parrot myself, but I'm interested what you guys thing.
In addition to Party Parrot there's Party Porg and Party Blob, which is just like a blob dancing around… It's great. So much fun.
That's funny. I am also pro Party Parrot. I was trying to find it the other day and put it into something yesterday, when something launched for this client of mine. I couldn't find it and I was disappointed. [laughs]
We'll link up that repo Party Parrot as a service. I think it's a Node.js back-end… Yes, it is. Up on GitHub. 100% JavaScript. Of course CultOfThePartyParrot.com is where it all began. That's your canonical Party Parrot website, Party Parrot as a service likely linked to from there, and is hosted on Heroku, so… Thank you to the creator of that for letting us all get free Party Parrots without having to – but again, another opportunity to hotlink somebody's thing, and then get pwned later… So maybe just host your own Party Parrot would be the takeaway advice there.
Well, let's move on from Party Parrot… Divya, you added one that I wasn't familiar with, Confetti-JS. Tell us about this.
[00:43:48.17] It allows you to put confetti on your website. It's pretty much the base of it. And does a lot of similar ones, I think. This Confetti-JS, which I think is just a background of Confetti, so your background can have actively falling confetti… And then there's Canvas Confetti, which allows you to have confetti in specific directions. So you could have a base, a cannon which fires from the bottom, and then a random one that fires a random direction… And then you can have fireworks, with confetti popping up everywhere. It's super-fun, and the amount of code that you have to write is pretty minimal.
The only one that I actually kind of wish I'd merged, and still look at once in a while - someone submitted a pull request for gamepad functionality… So if you had a joystick actually plugged into your computer, you could do that. I thought that was actually pretty cool, and in the spirit of what I made. But I don't know, it's just been on my backburner for a long time and I don't actually have a joystick to test it with. I think that's the bigger problem.
A couple other libraries - these were lots of fun. These got lots of traction… Man, this has probably happened around the same time as Konami-JS (maybe 8-9 years ago), vaporJS. I mentioned, George, you were ahead of the game on dependency-free JavaScript libraries, but Thomas Fuchs was really ahead of the game with code-free JavaScript library. VaporJS.com, the world's smallest and fastest JavaScript library. This was hilarious. Literally, it's an empty file, but… Lots of fun with that one.
The great thing about this - I think when it hit Reddit and Twitter and whatnot, it got a ton of pull requests, and they're all hilarious. Somebody added a minified version, so in the repo there's vapor.min, and then there's like a vapor model file… And they're all just empty. People had lots of fun with that one.
That sounds a lot like – I think someone created Thanos JS, which just randomly removes files… [laughter]
That's awesome. I've gotta find that one. Hilarious. [laughs] And then a follow-up to vaporJS, which was another good joke – actually, it's by Thomas Fuchs as well, and it has an awesome unicorn on the diagram… People were concerned about vaporJS, because it might not be secure enough, even though it was the most lightweight JavaScript library in history… So next he followed up with the much-lauded Semicolon.js - a more secure and reliable vaporJS. He really secured the library, and it's not quite as lightweight; you're gonna put on a little bit of bloat, but that's the trade-off for security. Semicolon.js is literally just a semicolon. That's the only character in the library, but… Thomas got a second round of laughs on that one.
That's pretty funny.
Last but certainly not least, probably the most successful, or the one that everybody knows about, is cloud-to-butt.
I remember that one…
Oh, man… This one actually – so vaporJS, those made the developer rounds, like the Reddits, the Hacker News, Changelog etc. but cloud-to-butt actually went mainstream. Cloud-to-butt, from maybe 5-6 years ago, was right when the word "the cloud" was becoming the marketing term of the day amongst your big tech companies… And there's a Chrome extension that replaces every occurrence of the phrase "the cloud" with "my butt." I have to admit that I installed this one and rocked it for a little while.
I did too, for a while.
[laughs] Confession time…
I think it might even be older than that. I remember the person who developed it is from Portland. I think he works at Panic, Steven Frank. I remember that one; that one really made me laugh.
[00:47:49.19] This one was dangerous, because it would scan every web page you were on. It was a Chrome extension that would just string replace straight up… And the phrase "the cloud" was used quite a bit, but not so much that you'd always recognize it. That's the fun thing about it - you'd kind of forget that the thing was there, and then you'd see a big call-to-action on somebody's marketing page, and it would say "It's time to move to my butt", or something like that. And then you get a laugh all over again, because you'd forgotten a little bit about it. But it was dangerous, because a lot of these times you're browsing in a meeting, or with your boss, and you forget that the extension is there, and it can get real nasty.
I believe there's a screenshot gallery. If you're not so brave to install this one but you wanna check out some of the funnier cloud-to-butts, we'll link that one up. PanicSteve links to it… It's on Flickr, so that kind of dates the library as well, back when Flickr was the place you'd post these things. Nowadays it would probably be on Instagram… Safari version, Firefox version, Opera version. That was a lot of fun.
Meanwhile, Divya has found Thanos JS. There it is - a casual, but dangerous package that will let Thanos snap fingers and delete random files inside a directory. [laughs]
It uses an fs.unlinkSync to delete files. So it traverses your directory and it just randomly deletes things… It's very dangerous, but so is Thanos. [laughs]
I love the technical details… It says "Technical details: Yes, it deletes the files. For those of you who are confused about what this package does, exactly half of the files are deleted. Each file is given a chance at random, in either the top 50% of the files or the bottom 50%." It's a binary search tree, or something.
Yeah. I really wanted to just look at my Node modules folder and just delete stuff half the time… [laughter] Because half the time – I mean, going back to when we were talking about dependencies, sometimes I just download one thing, I'll npm-install, or yarn-add one library, and then I'll look at my Node modules and I have like 50. I'm like "What?! How did that happen?" Because it's like "Oh, it has to do this, and then it has to download core-js", and then sometimes if you end up adding a dependency that has a bug in it or whatever, you end up having an issue where it's incompatible with some dependency that isn't actually the library itself, it's like another library trying to work – because that library was updated, and then the one you're using hasn't been updated, so it's not compatible anymore, and you get like "Hey, there's an issue with core-js" or something random… And you're like "I don't know…"
Have you ever gone into a Node modules folder and tried to fix something? Because I have, quite often.
I've spelunked, but I've never actually made changes. I read through things in there, but I never actually tried to fix anything.
Just because I'm like "I need this to work for now, while I'm in dev mode", and then you try to grab whatever code change you made to the package, and then you create a PR, but then you're like "I don't know if it'll work, because I don't know how to test this…" It's horrible.
[00:50:55.12] Yeah. That's the fun stuff. Real quick on this Thanos JS - if you look at the usage for this thing, Thanos JS is the name of the little command line tool, I guess… And you pass it the snap fingers argument for it to do its thing. That's limited power. If you want full power, you have to pass in the "–with Infinity Gauntlet Glove" argument, and then it does its thing. This is hilarious. And notably, I suppose - and we'll close it down here - on npm you attach the keywords, and they attached the "Not safe for work" keyword to this… Not because it has NSFW content, but because you don't wanna run this Thanos JS at your work. It is not safe. That's hilarious.
It's not safe for your computer.
[laughs] It's not safe for anything. Good stuff. We'll link to all these and more, everything referenced, in our show notes. George, thanks so much for joining us today. Any last words, anything about the future of Konami-JS, or anything you're working nowadays you wanna tell folks about before we call it a show?
Oh, gosh. Well, first of all, thanks for having. It was a lot of fun. As far as Konami-JS goes, I've still not completely shelved the idea of a 2.0, so I am definitely open to discussions and issues. My thought is maybe to release it as – just perpetually leave it on a separate branch, so if people wanna make contributions there, I'm all ears. And beyond that, I don't really have anything to promote that's reasonable… [laughs]
How do people reach you online?
People can google me, because a long time ago I think I got basically every George Mandis username and domain that's out there, at some point… But if you go to george.mand.is - that's my site and blog. Anything I'm working on, you can find there. You can also find me on Twitter, where I don't say a lot, but I'm on there.
Very cool. Well, thanks for joining us, George. It's been lots of fun. Thanks for helping make the web silly and frivolous all these years. We do appreciate it. That's our show for this week, we'll see you all next time.


text:
Tsunami waves spotted after quake off New Caledonia
The Pacific Tsunami Warning Center said tsunami waves of between 1 and 3 meters (3 and 10 feet) were possible along some coasts of New Caledonia and Vanu...
Palace Makes Statement On Meghan Markle And Kate Middleton's 'Feud'
Meghan Markle is now pregnant with her first child with Prince Harry , and if certain reports are to be believed, the Duchess of Sussex is expecting twi...
Indian police probe if violence over dead cow was result of conspiracy
Inspector Subodh Kumar Singh and a 20-year-old man had died after a crowd of about 400 people, who were protesting against an alleged cow slaughter , turned vi...
Pompeo Says US May Leave Treaty Due to Russian 'Cheating'
Russian President Vladimir Putin won't be coming to Washington for a second summit with President Donald Trump anytime soon, a Putin spokesman said Mond...
Graham Breaks With Trump: 'Zero Chance' MBS Wasn't Involved In Khashoggi Murder
It said the 81-year-old president, whose health has been fragile since he suffered a stroke in 2013 and is rarely seen in public, was "in bed with a heavy flu"....
Trump urges 'full sentence' for his ex-lawyer Cohen in Russian Federation probe
But absent any public declarations, it has been unclear how much he has been helping Mueller's team in their Russian Federation probe. Mr. Trump also continue...
NRCC Emails Hacked During Midterm Election
On Monday, Politico reached out to the offices of House Speaker Paul Ryan (R-Wis.), House Majority Leader Kevin McCarthy (R-Calif.) and House Majority Whi...
Migrants Breach the U.S. Border Fence in a Bid for Asylum
Mexico has offered asylum to the members of the caravan, but many are still trying to make their way to the United States. It was also not immediately clear ...
NYPD finds couple who lost diamond ring in sidewalk grate
Police eventually identified the couple, who had already returned to the U.K. The NYPD said it is working on getting it back to the couple and thanked Twitte...
Brexit: Ministers may have broken rules by not publishing legal advice - Speaker
It is the first time a government has ever been held in contempt by parliament, and unquestionably further weakens the authority of Theresa May . "It is of h...
Khashoggi murder: Central Intelligence Agency chief Haspel 'to brief Congress'
The CIA briefing comes after several USA lawmakers were angered last week when Haspel was not included in a briefing on Saudi Arabia. Haspel was not prese...
Sri Lanka's disputed prime minister takes his fight to the Supreme Court
Rajapakse urged his supporters on Monday night to remain calm and join his struggle to press for a general election almost two years ahead of schedule. outweigh...
The nation honors George H.W. Bush
At the invitation of the Trump White House, former President George W. Bush and his close family are staying at the presidential guest house while in Washington...
United Kingdom can unilaterally stop Brexit, top European Union court adviser says
It would put "the decision about our future back into the hands of our own elected representatives - where it belongs", pro-Remain lawyer Jolyon Maugham, who br...
IDF Operation on Lebanon Border Destroys Hezbollah Attack Tunnels
The announcement of the operation comes after Israeli Prime Minister Benjamin Netanyahu met US Secretary of State Mike Pompeo in Brussels on Monday night. Mal...
United Arab Emirates now has world's most powerful passport
It beat last year's number one, the Singaporean passport, which is joint second with Germany , which was also in this spot in 2017. The United Arab Emirate...
Child Killed, 40 Injured When Football Team's Bus Crashes in Arkansas
During questioning, the driver told police she lost control of the vehicle, state police said in a statement . A child was killed and at least 45 other passe...
Saudi Crown Prince arrives in Mauritania
Saudi Arabia's prosecution has charged 11 people with involvement in the journalist's death, while Donald Trump's administration imposed penalties on 17 indivi...
US Secretary of Defense: Vladimir Putin is "slow learner"
Mattis made the remarks at the Reagan National Defence Forum in Simi Valley, California, referring to the 2003 agreement between Russian Federation and Ukraine ...
Trump letter to Imran Khan seeks Pakistan's help in Afghanistan
Faisal said that President Trump in his letter also acknowledged that the war had cost both the US and Pakistan. Khan stressed the United States had provided ...
President Bush on final trip to Washington
Mourners began lining up at the Capitol to pay respects to Bush, who died at his Houston home on Friday night at the age of 94, seven months after his wife Barb...
Former US President George Bush Senior dies at the age of 94
But Bush would acknowledge that he had trouble articulating "the vision thing", and he was haunted by his decision to break a stern, solemn vow he made to voter...
G20 Summit presses for WTO reforms, pushes for multilateral trading system
He also spoke with Prince Mohammed about the ongoing situation in Yemen and affirmed France's commitment to supporting a political solution to the conflict. Bus...
Kellyanne Conway's Husband Accuses Trump of Witness Tampering
President Trump on Monday highlighted a contrast between a former ally and a current one , and he hopes the former ally spends a long time in prison. George Co...
Nigeria's President Buhari denies dying and being replaced by lookalike
Enugu State Governor Chief Ifeanyi Ugwuanyi, Kogi State Governor, Alhaji Yahaya Bello, Nigeria State Governor, Alhaji Abubakar Sani Bello, President Muhamadu Bu...
ISIS Leader Responsible for 2014 American Death, Killed
Sean Ryan said in a statement. The US-led coalition's anti-Daesh activities in Syria are authorized neither by the Syrian government, nor by the UN Security C...
Donald Trump: next Kim Jong-un meeting likely in January or February
In a statement issued after Mr Trump met Chinese President Xi Jinping on Saturday, the White House said the two men would strive with Mr Kim "to see a nuclear-f...
Sully the dog will accompany George H. W. Bush's casket to Washington
Gen. Michael Howard in a December 1 release , a day after the former president's passing at age 94. Sully joined Mr Bush in the summer, after former First L...
George H.W. Bush's service dog, Sully, is honored: 'Mission complete'
On Wednesday, family and friends will gather at the National Cathedral in D.C., for an 11 a.m. ET memorial service. "Mission complete", McGrath tweeted, showi...
Ukraine calls up reservists amid tensions with Russian Federation
Russian President Vladimir Putin has said that the incident was a provocation prepared in advance as a pretext to introduce martial law in Ukraine ahead of th...
Michelle Obama's 'Becoming' is the bestselling book of 2018
Fear: Trump in the White House by Watergate journalist Bob Woodward and The Hate U Give by top YA author Angie Thomas were heading for that distinction, but ...
Former president Bush's service dog takes watch over casket in touching photo
Bush, a patrician New Englander whose presidency soared with the coalition victory over Iraq in Kuwait, but then plummeted in the throes of a weak economy that ...
Newly-wed Priyanka Chopra and Nick Jonas have Hindu ceremony
Fireworks at Umaid Bhawan Palace in Jodhpur, Rajasthan, after Priyanka Chopra and Nick Jonas tied the knot as per Christian rituals. People magazine sai...
Labour and DUP join forces to demand Theresa May releases legal advice
He added: "It seems to me that if the prime minister has lost a vote of that sort of significance then there has to be a question of confidence in the governmen...
Friend of Pakistan Bush Senior dies
President Donald Trump also closed government offices Wednesday and designated it a national day of mourning, which traditionally occurs on the same day as th...

redpajama_set_name: RedPajamaCommonCrawl


Located in the heart of Småland in a unique, historical and cultural environment with hints from the 14th century. Lake Åsnen and its surrounding nature is so special, that the entire area is on it's way to becoming the newest national park in Sweden. Blidingsholms Ranch is a modern hotel & conference center.
A range of activities are offered in the area, such as fishing, canoeing and hiking. Växjö is 26 mi from Hotell Åsnen, while Karlshamn is 24 mi from the property. Ronneby Airport is 27 mi away.


text:
'Alarming' cyber security survey a wake up call for ANZ education sectors
Education around cyber security is the responsibility of teachers and parents, according to new research from cyber security firm ESET.
The survey, conducted across new Zealand and Australia, reveals respondents think parents (73%), followed by high school teachers (71%) and primary school teachers (54%), should be responsible for educating today's youth and future generations on cyber security. 41% claimed this should be the responsibility of the federal government.
According to the survey, 42% also claim to have very low confidence or are 'not confident at all' in the education levels of today's youth regarding cyber security.
Lukas Raska, APAC COO of ESET, believes cyber security education should be a mandatory part of primary and secondary school curriculums across Australia and New Zealand.
He argues the gap in cybersecurity education can be addressed with effective training for parents and teachers, to ensure the latest and most accurate advice is passed on to younger generations.
"Cyber security concerns are growing across APAC and globally, and the more education we have across all levels of society, the better equipped we can be to counter e-criminals' efforts to access our data, identities, bank accounts, and social media accounts," says Raska.
"Without a proper program implemented throughout all schools for both teachers and students, the teachers' ability to deliver adequate cyber security education is not realistic," he says.
ESET also conducted this survey separately across Asia, including Hong Kong, India, Thailand, Malaysia, Singapore, and Indonesia. Comparing the survey results:
38% of ANZ respondents have not received any form of cyber security training, though claimed to be interested in understanding and knowing more about it, in comparison to more than twice that (78%) among Asian respondents
Only 9% of ANZ respondents and 15% of Asian respondents have received formal education on cybersecurity from schools and educational institutions
26% of ANZ respondents and 31% of Asian respondents have personally made an effort to read up and gain knowledge about cybersecurity
Nick FitzGerald, ESET senior research fellow, believes the results of the survey are alarming and should be a wakeup call to the Australian and New Zealand educational systems.
He says the survey results show parents are placing a higher level of responsibility for cyber security training on teachers and other parents than is warranted.
"The governments of both countries have recently updated their cyber security policies to include, among other initiatives, an increased focus on cyber security as part of primary, secondary and tertiary education curricula. It will be interesting to see the impact of these measures as they are implemented in our education systems," FitzGerald explains.
"Poor cyber security education can lead to unsafe practices on mobiles, desktops, at home, and at work," he says.
"If we are placing significant reliance on teachers and parents for cyber security education, and they don't have the appropriate knowledge or guidelines themselves, we need to recognise this need for education and act now."
Education Malware Cybersecurity


text:
Twelve Angry Men: Not Guilty
Sarah Dodge Period 5 5/11/09 Twelve Angry Men The boy was not guilty in my opinion. The jury did in fact vote the boy not guilty even though at the beginning of jury session all, but one man voted the boy to be guilty. I believe that there was not enough conclusive evidence to state that the boy was in fact guilty of murdering his father. One of two eye witness on the case was proven or seen to not be wearing her eye glasses in attempts to look younger, yet this meant that the lady needed eye glasses and that it was not probable for her to have seen the boy murder his father through the windows of the train. I believe that with the evidence against the boy or in the crime scene at all there is room for reasonable doubt in the case
12 Angry Men Response
Juror 8, played by Henry Fonda, was an architect named Davis and the only one to vote towards not guilty. When questioned as to if he really believes that the boy is innocent he simply responded "I don't know." Davis felt that if they have the boy's life in their hands then the least they could do is talk about it for an hour. Davis's claim was that he had reasonable doubt about whether or not the boy actually killed his father. There were many little things that they overlooked in the cross-examination and Davis said "if I were him I would have asked for a new lawyer." By voting not guilty, and presenting his reasoning, Davis was able to get the jury to take a look at the evidence once again with a fine-toothed comb. In order to provide a valid argument, Davis needed to show the jury the grounds under which he believed the evidence presented was not credible enough to send him to the chair.
Davis the name of number 8 juror tried to convince the members of the jury and he succeed to change their minds. Davis was smart and logically man, he started doubt the evidence by the switch knife. The jurors believed the knife belongs to the eighteen years old guy and he stabbed it in his father chest, Davis made his argument by said might the murder used another knife looked like the guy's knife and he showed the jurors a knife looked like the knife was used to kill the man. After this argument the one of jurors #9 changed his vote to not guilty. After that #5 juror who had a problem to express his opinion, he changed his mind and vote for not guilty.
This movie was all about non-ethical and lazy like sayings, such as: "lets get it over quick" and "who really cares". One guy, the 8th juror, did not agree with these saying's and believed that a tough decision like this could not be decided in 5 minutes. He played a smart game, which we call 'playing devils advocate'. While the 11 men thought the person charged was guilty, this one juror thought differently. The 12 angry men were your average men, but each one had a different side.
12 Angry Men Essay on Reasonable Doubt
The accused is a young 19 year old boy, and the victim is the young boy's father. When the jurors enter the Jury Room, they all think this case is open and shut – until they take the initial vote, and discover one man voted in favor of not-guilty. All the other jurors seem to think that all the evidence is laid out for them, while Juror Eight is not so sure. Juror Eight reviews all the evidence and is able to find many ways in which reasonable doubt was established. Specifically, in the testimony of the old woman, through the weapon that was used to murder the father, and finally through the testimony of the old man.
The Unfair Trial Of Tom Robison
The Unfair Trial of Tom Robison In the novel To Kill a Mockingbird, the character Tom Robison is accused of a crime he did not commit and the evidence presented in the courtroom actually supported he was innocent. Heck Tate is the sheriff of Maycomb County, who was called after the crime, was made. As the sheriff he didn't handle this crime the appropriate way. Heck was supposed to call a doctor to check Mayella, getting an understanding of exactly what was wrong with her. Heck also went wrong when he didn't get everyone's side of the story; he only got the Ewells side.
12 Angry Men Character Essay
The real reason he was being so obnoxious was because he had issues with his teenage son which effected his opinions about teenagers. That is why he was voting guilty throughout the movie. No one knew about his son, and background so they had no clue why he was so obnoxious. When juror #3's emotions were revealed everyone knew why he was so angry and that changed everyone thought about him.
A Case of Twelve Angry Men
While in the jury room a vote was conducted to determine what people thought of the boy –guilty or not guilty. It turned out that out of twelve people only one (the architect) thought the boy was not guilty. Inductive reasoning seems to have been the basis of their decisions as many evidences rose. One of the evidence presented is where an old man living down stairs claimed to have heard the boy shouting 'I will kill you.' it was also after these words that he heard a thud which forced him to rush to the stairway. The man also insists that he saw the boy running downstairs after the commotion.
12 Angry Men Paper
The film "12 Angry Men" (1957) is based on the story of twelve jurors who are responsible for deliberating and deciding the fate of a teenage boy accused of murdering his father. Although to most it seems like an open and shut case where the boy is definitely guilty, one juror speaks out against the popular groupthink of the other eleven jurors and admits that although he does not know if the boy is guilty, he is not convinced that he is. Throughout the film this one juror, played by Henry Fonda, speaks his mind in a very non-confrontational way, and begins to sway the jury vote by vote. By the end of the film the jury has reached a consensus of "not guilty". Power is described in our text as "the ability to influence, command, or apply force; a measure of a person's potential to get other to do what he or she wants them to do, as well as to avoid being forced by others to do what he or she does not want to do".
Juror #2 was a very frantic and nervous type of guy. In the beginning he voted the boy guilty, but by the end of the film his reasonable doubt had him opposed to that previous notion. Juror #3 was the assumed "antagonist" which fits his character very well. He was all for the young boy's execution the whole time until he glanced at a picture that held some type of symbolism to him when he finally broke down and voted innocent. Juror #4 the Wall Street guy was very analytical about his vote.
Even though he witnessed many horrible things, he could not believe in his Father's true work. He died because he was not aware of what was happening in the concentration camps. (Boyne, page 213) it states, "He assumed that it had something to do with keeping the rain out and stopping people from catching colds." This shows that Bruno had no idea that he was taken to a gas chamber. Standing in the big room, in between skinny, shaved head men, he was more concerned on catching cold than the vision in front of him. Another example of how Bruno was avoiding thinking about what was happening around him was when he said, "I expect we'll have to wait here till it eases off and then I'll get to go home" (Boyne, page 212).
More about Twelve Angry Men: Not Guilty


With Medicare Advantage plans, the essential Medicare Part A and Part B benefits – except hospice services – are automatically covered. (If you need hospice services, that's covered under Original Medicare, even if you're enrolled in a Medicare Advantage plan.) Advantage plans also cover urgent and emergency care services, and in many cases, the private plans cover vision, hearing, health and wellness programs and dental coverage.
One of the reasons Medicare Cost is so popular in Minnesota is that the state has a large population of "snowbirds" — retirees who live in Minnesota during the summer, but head south to warmer climes in the winter. With Medicare Cost plans, the enrollee still has Original Medicare — including the large nationwide network of providers who work with Medicare — in addition to the Medicare Cost coverage. Medicare Advantage plans, in contrast, tend to have localized networks that might not be suitable for a senior who lives in two different states during the year. A Medigap plan plus Original Medicare will allow a person in that situation to have access to health providers in both locations, although Medigap tends to be more expensive than Medicare Advantage. There are pros and cons to both options, and no one-size-fits-all solution.


I surprised my wife with Just Dance 3 last night (had a coupon that made it only $20 at K-Mart of all places) and she flipped out. We have a Kinect and its pretty crazy playing that game on Kinect--looking forward to trying it out with four people dancing at once!
The Wii version should be good.
This game is awesome! It's so fun to do it with your friends, just make sure you each have a lot of space between you or you might get hurt!
Just dance is really good!
I used to play at my friends house and I think it is awesome! I enjoy dancing and that is definitely a fun way to do it with friends.
I like all the Just Dance games, I think they're all cool, and it gives you a great workout in a fun way.


Free 1080p Films and TELEVISION Shows for Android Devices. After altering the settings as above, go to the file location and attempt to set up the app once more. This time, you'll not face points like before. That is how you can get TeaTv Android app in your telephone with none errors. Now, we'll see some options of TeaTv app. Why delete APK? As a result of APK is of no use after the installation of the app. Clear up FireStick storage by deleting pointless files. Click on on under button to start out downloading of TeaTV Apk file. When you download the apk file, navigate to the folder the place the file is downloaded.
It begins downloading the TeaTV app in your PC. You'll be able to download the content material to observe it later off-line, you possibly can download them in 480 – 720 – 1080. Step 9: Like before, you may go to Your Apps & Channels section to open Tea TELEVISION on FireStick. You may also move the app icon to the entrance row to make it seem on the principle display screen of the machine. If you're utilizing an Android Field, NVIDIA SHIELD, Mi Field, and so forth. you may comply with along with this tutorial by putting in Downloader app in your machine. Use the link under for that tutorial.
Whenever you choose G Suite over Office 365 or Apple's apps, you are making a serious decision to rely on information and apps that stay almost totally within the cloud, accessible solely in a browser or a mobile device. Google does not supply desktop apps like the desktop versions of Microsoft Phrase or Excel or Apple's Pages and Numbers. If you wish to edit your documents on a Wi-Fi challenged airplane, you may need to edit them in Google's Chrome browser via an non-obligatory extension. And, earlier than you go offline, you will must download every doc that you simply wish to edit. I am not willing to take that form of hassle each time I threat being someplace—like a typical Amtrak train—where Wi-Fi might abruptly cease working.
A:TeaTV is an utility for streaming and downloading movies and TV shows totally free exclusively for Android and it's not a Kodi add-on. While you are taking part in your favorite video on the app, you should use the cog menu choice to set the streaming quality relying in your connection velocity. The app is absolutely free. You do not want any Signup or registration to make use of the app. Simply obtain and install the app and straightly begin using it. So, enjoy an infinite entertainment for free of charge. Wait for Tea Movie Guide (aka Tea TV for Firestick") to install. It should take about 30 seconds (or a few minutes in case you're on a sluggish Web connection).
Please learn fastidiously earlier than you provide any such permission to an APK related App. Once you might be set with the permissions, tap on Set up and watch for a couple of minutes. You'll be supplied with a notification as soon as the installation is complete. This marks the profitable set up of the Tea TV App in your Android device. Obtain the App in the present day and watch comedy, horror, cartoon and plenty of different films of everybody's selection in your buddies' group. So now, don't be unhappy in the event you work for the total day as you have got many films at the weekend on this movie App.
This is the most highly effective, quickest and easiest method to uncover and find movies, actors and shows. You can too download this film streaming software for android units similar to smart telephone, i cellphone or tablets etc with into use of straightforward opposite interface. You can enjoy on this app nearly any TELEVISION exhibits, motion pictures equivalent to drama, crime, comedy, adventure, biography, horror or extra and in addition navigate or search you favorite films and TELEVISION shows. All in all this app has nice helpful to make use of.


Hood is all about the neighbourhood and is the core of what we do.
We love local, be it our customers, suppliers or our team.
We aim to work with a variety of local businesses and organisations as a customer, a partner or a supporter.
We love bringing the community together whether it is for a catch up with friends, a celebratory party, an impromptu dinner for two or getting the whole family together for a Sunday brunch.
Mike is one of Hood's owners along with siblings Robin and Melanie Frean. Between the two of them they cover the rest of the restaurant operations and you will regularly find them onsite, working on the floor or behind the bar.
Hood opened in February 2015 following a true family and friend's effort to restore a tired Edwardian property back into use as a vibrant restaurant and bar serving the Streatham community.
Just like our food and drink, our interiors have been inspired by London and the South of England. Our designer Crispin Williams helped us fuse the Sussex coast, countryside and Streatham to create a relaxed, comfortable room with exposed brick walls, original Edwardian panelling and bespoke artwork from Claire Harsant. Other features include an art deco inspired bar, restored dumb waiter and our 'Wall of Thanks' to our original crowd funders.
We are triple brunching over the Easter Weekend with our Weekend Brunch menu being served 10am – 3pm Good Friday as well as Saturday and Easter Sunday. Please book ahead or come on down.
We will be closed as usual Sunday evening and Easter Monday.
After four years of our wine list being focused on European & English wine we have changed things up and gone global! Alongside European and English favourites you can now find a selection of interesting wines from South Africa, Australia, the USA and South America. As with most of our wines we will be rotating them regularly and we are really excited to introduced some new grapes and regions to our list.
Reserve a table now or contact us with your enquiry.
Thanks for being such great customers!


Hans came to Canada from his native Sweden in the early 1970s and after spending seven years on the Canadian Parries an opportunity arose which allowed Hans and his wife the opportunity to move to Beautiful BC and Gabriola Island where they bought a small farm.
Over the years Hans raised a variety of animals on their land including horses, sheep and llamas. Over time it has evolved into a hobby farm and Charlie, the Golden Retriever is now the only remaining `livestock`. Hans keeps busy in his spare time enjoying general upkeep on the property and his home.
Hans is an awarding winning real estate agent and a proud member of RE/MAX of Nanaimo Downtown. Hans has experience is all aspects of residential real estate services including the work that he has done as a land developer for 55 acres of Gabriola Island waterfront.
For an all round satisfying experience in buying or selling a property on Gabriola Island Hans Henrikson is the best!


You'll have access to one log-in and dial-in for the live 90-minute webinar for unlimited participants. You'll also receive all presentation materials and the opportunity to ask questions by phone and email, plus an audio CD and transcript for the entire session.
You get one log-in and dial-in for the live 90-minute webinar for unlimited participants, presentation materials and the opportunity to ask questions by phone and email.
You'll have access to one dial-in for an archived recording of the entire 90-minute webinar, including the Q&A period, for unlimited participants. You can dial in any time of day or night for three weeks, from March 17 - April 4, 2014. You'll also receive all presentation materials, plus an audio CD and transcript for the entire session.
You'll have access to one dial-in for an archived recording of the entire 90-minute webinar, including the Q&A period, for unlimited participants. You can dial in any time of day or night for three weeks, from March 17 - April 4, 2014. You'll also receive all presentation materials.
You'll receive an audio CD and written transcript of the entire 90-minute webinar, including the Q&A period, and all presentation materials. Delivery is approximately four weeks after the session.


text:
Those who make rules never observe them
'Robbers kill policeman in DSP's house'
THIS is with reference to the news item 'Robbers kill policeman in DSP's house' (Dawn Metropolitan, Nov 21). I couldn't help seeing the irony in the incident.
We are told all the time by the police to keep copies of our servants' CNICs, yet here is a police officer who didn't follow this rule. His guard, a constable, had introduced a servant and his wife, but they turned out to be robbers and killed the constable himself before looting the house.
Since the family did not have copies of the servants' identity cards, the police are unable to trace them.
But then, isn't this symptomatic of what's happening in the country: those who make rules never observe them?
Printed in DAWN, December 1, 2013
About Pakistan (4)
Political Opinions (2)
Writings (4)
Blog archive January (5) December (11) November (12) October (14) September (15) August (17) July (16) June (16) May (21) April (18) March (12) February (9) January (12) December (10) November (13) October (14) September (11) August (11) July (14) June (13) May (15) April (9) March (8) February (8) January (12) December (13) November (6) October (13) September (7) August (6) July (6) June (3) May (5) April (5) March (3) February (5) January (6) December (1) November (6) October (4) September (5) August (5) July (7) June (5) May (6) April (7) March (8) February (4) January (5) December (12) November (8) October (6) September (6) August (8) July (6) June (4) May (5) April (2) March (1) February (4) January (4) December (2) November (4) October (7) September (5) August (4) July (3) June (3) May (7) April (3) March (3) February (6) January (5) December (3) November (4) October (5) September (3) August (5) July (11) June (7) May (11) April (7) March (10) February (5) January (5) December (7) November (8) October (11) September (10) August (9) July (13) June (9) May (9) April (8) March (10) February (4) January (5) December (2) November (3) October (3) September (3) August (5) July (3) June (8) May (4) April (6) March (6) February (7) January (6) December (11) November (9) October (6) September (6) August (8) July (11) June (9) May (1) April (6) March (9) February (9) January (13) December (6) November (4) October (19) September (8) August (7) July (4) June (8) May (12) April (6) March (8) February (7) January (7) December (9) November (7) October (11) September (10) August (7) July (12) June (9) May (13) April (6) March (13) February (6) January (15) December (11) November (7) October (13) September (6) June (3) May (2) April (7) March (2) February (23) January (13) December (11) November (11) October (14) September (26) August (14) July (2) June (1) May (11)


The Map of Texas and county map provides an outline of its jurisdiction, which covers 268,601 sq. miles. Test your recognition skills and knowledge with our State Maps Quiz Game.
The State of Texas is located the southwestern US, on the Gulf of Mexico.
The Map of Texas provides an outline of the state and the Texas County Map provides the name of all of the counties in the state. The Government of the United States is based on the concept of federalism, meaning self-governing units. Power is shared between the National Government and State Governments, such as Texas, and defined by the Constitution of the United States of America. The State Borders, or State lines of Texas, define geographic boundaries between each state.
The Map of Texas shows that the state is divided into 254 counties. Counties, was (and still is) the term used for lands in England and originally meant the lands of a count or earl. Counties were the earliest units of local government established in the 13 Colonies that would become the United States. The Map of Texas shows that the state has the most counties.
The following facts and information provide a map of Texas with counties, together with a helpful list of Texas counties. The power of a county arises from state law and these vary according to each state. In America a county was among the first units of local government established in the 13 Colonies that would eventually become the United States of America. Find the location and names of all the Texas counties.
Official Nickname "Lone Star "


MRU is located in Wenzhou which lies in southeast of China near by Shanghai and Ningbo port. Covering 10000 square meter.
( m1 f( ~3 i9 m* w0 a/ B, |6 o+ RAutomobile, motorcycle, ATV&UTV, chain saw, cut off saw, brush cutter, sprayer, drone.
, s% ~) }- c; g ?2 [, SISO9001.
8 I1 M$ p" C- c& S/ `% }/ R/ mcooperate with Zhongshen from domestic OEM machine producer, PEUGEOT from France, FRICKE GMBH from Germany, RAISMAN from South America, Oleo-mac from Europe and PMD from Australia, ARROWHEAD from USA.
GMT+9, 2019-4-22 11:13 , Processed in 0.078603 second(s), 22 queries .


text:
Second Phase Malabar 2021
The second phase of Malabar 2021 exercise is reflective of the commitment of the participating countries to support a free, open, inclusive Indo-Pacific as well as a rules-based international order
October 16, 2021 By Lt. General P.C. Katoch (Retd) Photo(s): By Indian Navy, www.eng.mil.ru
The Author is Former Director General of Information Systems and A Special Forces Veteran, Indian Army
Multilateral Maritime Ex Malabar Phase II progress in Bay of Bengal
India, the United States, Japan and Australia kicked off the second phase of this year�s Malabar naval drills in the Bay of Bengal on October 12. The exercise aimed to build on the synergy, coordination and interoperability developed during the first phase held in August 2021, the Indian Navy said in a statement, adding that the second phase, held from October 12-15, focussed on advanced surface and anti-submarine warfare exercises, seamanship evolution and weapon firings. The 25th edition of Malabar exercises is being conducted in two phases, while observing all protocols during the COVID-19 pandemic.
The first phase of Malabar 2021 by the QUAD navies was conducted from August 26 to 29 near Guam in the Pacific Ocean involving destroyers, frigates, corvettes, submarines, helicopters, long-range maritime patrol aircraft, US Navy SEALs and Indian Navy�s MARCOS. Between the two phases of Malabar 2021, India also conducted bilateral naval exercises both Australia and Japan to boost interoperability further.
The second phase, held from October 12-15, focussed on advanced surface and anti-submarine warfare exercises, seamanship evolution and weapon firings
In the second phase of Malabar 2021, India Navy�s participation included INS �Ranvijay�, INS �Satpura�, P-8I long range maritime patrol aircraft and a submarine. The US Navy (USN) was represented by nuclear-powered aircraft carrier USS �Carl Vinson� and two destroyers - USS �Lake Champlain� and USS �Stockdale�. The Japan Maritime Self Defence Force (JMSDF) was represented by J.S. �Kaga� and J.S. �Murasame�, while the Royal Australian Navy (RAN) was represented by HMAS �Ballarat� and HMAS �Sirius�. According to Commander Vivek Madhwal, spokesperson of Indian Navy, the second phase of Malabar 2021 exercise is reflective of the commitment of the participating countries to support a free, open, inclusive Indo-Pacific as well as a rules-based international order.
The Malabar series of exercises began as an annual bilateral naval exercise between India and the US in 1992. During Malabar 2007, the US Navy had the largest representation with 13 warships including the nuclear-powered aircraft carrier USS �Nimitz�. In 2015, JMSDF joined Malabar as a permanent member. The 2020 edition of Malabar witnessed participation of the RAN a second time, after a long gap.
Over the years, Malabar exercises have practiced diverse activities ranging from fighter combat operations from aircraft carriers through maritime interdiction operations, anti-submarine warfare, diving salvage operations, amphibious operations, counter-piracy operations, replenishment-at-sea, cross�deck helicopter landings and anti�air warfare operations.
China has been wary of the Malabar exercises and more about the QUAD
China has been wary of the Malabar exercises and more about the Quad. In June 2007, China issued a �demarche� (sic) to India, the US, Japan and Australia seeking details about their four-nation meeting, termed a Quadrilateral Initiative � cheek of Beijing, while China itself had been conducting naval exercises with other countries including Bangladesh and Myanmar. However, India and Australia assured Beijing that security and defence issues did not form part of the meeting's agenda.
The second phase of Malabar 2021 exercise in progress
Reacting to the first virtual QUAD Leaders Summit in March 2021, China�s foreign ministry spokesperson Zhao Lijian said no "small cliques" should be formed, and accused some countries of trying to "sow discord" among regional nations by "hyping" the "China threat"; even as the QUAD Leaders had announced that a "free and open" Indo-Pacific is essential to their countries, and vowed that they were committed to achieve stability.
Without mentioning the US, Lijian also said, "Certain countries should shake off their Cold War mentality and ideological prejudice, refrain from forming closed and exclusive small circles, and do more things that are conducive to solidarity and cooperation among regional countries and regional peace and stability."
China went ballistic even more over establishment of the AUKUS saying that the creation of the AUKUS trilateral alliance between the United States, Britain and Australia aims to stir up the Cold War
Ahead of the first in-person QUAD Leaders Summit at the White House in September 2021, China again criticised the grouping with China�s foreign ministry spokesperson Zhao Lijian stating during a media briefing, �China always believes that any regional cooperation mechanism should not target a third party or harm its interests. Seeking exclusive closed cliques against a third country runs against the trend of the times and aspirations of countries in the region. It will find no support. The growth of China means the growth for peace and stability in the world (sic) and China�s contribution to peace, stability and development in Asia Pacific is therefor all to see. Relevant countries should do more that is conducive to solidarity and cooperation with the four countries in the region.�
China went ballistic even more over establishment of the AUKUS. China�s Deputy Foreign Minister Le Yucheng stated in an interview with CGTN TV channel recently that the creation of the AUKUS trilateral alliance between the United States, Britain and Australia aims to stir up the Cold War, violate the provisions of the Non-Proliferation Treaty and threaten a nuclear catastrophe in the Pacific.
Russia-China naval exercise �Maritime Interaction 2021� in the Sea of Japan
Beijing has militarised man-made islands in Western Pacific due to American intransigence, mostly during the 10 years of the Obama administration, and is engaged in hotly contested territorial disputes in the South and East China Seas. Beijing claims sovereignty over all of the South China Sea but Vietnam, Malaysia, the Philippines, Brunei and Taiwan have counterclaims. In the East China Sea, China has territorial disputes with Japan. Both maritime areas in the South and East China seas are rich in minerals, oil and other natural resources and are also vital to global trade.
China is well aware that the QUAD and AUKUS have come up because of its aggressive behaviour and increasing military muscle-flexing in the Indo-Pacific region. But it would not see any immediate threat from AUKUS knowing it would take a decade and a half or so for Australia to acquire the six nuclear-powered submarines. Besides, Beijing would be happy about the conciliatory note in US President Joe Biden�s recent speech at UNGA. That is why China has become more belligerent against India and Taiwan.
China is well aware that the QUAD and AUKUS have come up because of its aggressive behaviour and increasing military muscle-flexing in the Indo-Pacific region
The ongoing Russia-China naval exercise �Maritime Interaction 2021� in the Sea of Japan will last till October 17. Russian Navy participation is of warships and support vessels of the Pacific Fleet, including the anti-submarine ship �Admiral Panteleev, corvettes of the project 20380 �Hero of the Russian Federation Aldar Tsydenzhapov and �Gromkiy, two base minesweepers, the submarine of project 877 Ust-Bolsheretsk, a missile boat and a rescue tug. Both navies are practicing joint tactical maneuvering, mine countermeasures, artillery firing at sea, search and block mock enemy submarine.
Since India is in a protracted hostile border with China and ongoing sub-conventional war with China-Pakistan, in addition to possibility of conflict, QUAD and AUKUS will remain of peripheral consequence for the time being. However, concurrent to the second phase of Malabar 2021 kicking off on October 12, Admiral Michael Gilday, Chief of US Naval Operations has stated that the cyber domain is one area that the Quad navies would continue to refine in terms of working together as well as high-end operations in the air, on the sea and under the sea. He also said that the scope of the multi-nation Malabar exercise in terms of more like-minded navies taking part in the drills could expand in future and that it was for the Quad partners to discuss the possibility of an expansion.


text:
First Android Pin-locking Ransomware Targeting Users in North America
Data Privacy, Endpoint security, Malware and Vulnerabilities, Phishing, Ransomware
LockerPIN sets or changes the device's PIN lock, unbeknownst to the user as it locks the screen and demands a $500 ransom.
Researchers from ESET, a global leader in IT security for more than two decades, have discovered in the wild the first Android PIN-setting ransomware.
"Based on ESET's LiveGrid® statistics, the majority of the infected Android devices are in the USA with a complete percentage share of over 75%," says ESET's Detection Engineer Lukáš Štefanko. "This is part of a trend where Android malware writers are shifting from mostly targeting Russian and Ukrainian users to Americans where they can arguably make higher profits."
LockerPIN spreads via unverified third party app stores, warez forums and torrents. After a successful installation, the Trojan horse tries to obtain Device Administrator privileges by overlaying the system message with its own window and masquerading as an "Update Patch Installation."
Currently, even if the Trojan is removed, for unrooted devices that aren't protected by a security solution, there is no simple way to change the PIN except for a factory reset. This however results in loss of all data. To add insult to injury, even if the user decides to pay the ransom, the attackers cannot unlock the device as the PIN is set randomly.
To prevent infection, ESET strongly advises for using an Internet security solution, such as ESET Mobile Security designed specifically for Android smartphones and tablets, to back up regularly and to download apps only from certified app stores, such as Google Play or Amazon App Store.
"You can save a few dollars by downloading the application from unverified sources, but always keep in mind, it can result in data or privacy loss, usually of a much bigger emotional or financial value," adds Štefanko.
In response to the discovery Kevin Epstein, VP of Advanced Security and Governance at Proofpoint has the following comments :
"As the trend towards mobile computing and BYOD continues, malicious actors will exploit this vector, just as email and social media have been used for targeted attacks. Clearly, there's a need for targeted attack protection for mobile. Proofpoint's research on 'The Human Factor' suggests everyone clicks; the social engineering component of this attack, wherein devices are compromised because a user allows the malware administrative rights, suggests mobile users are just as vulnerable as laptop users. The solution: don't click on anything that you don't understand."
About ESET
Since 1987, ESET® has been developing award-winning security software that now helps over 100 million users to Enjoy Safer Technology. Its broad security product portfolio covers all popular platforms and provides businesses and consumers around the world with the perfect balance of performance and proactive protection. The company has a global sales network covering 180 countries, and regional offices in Bratislava, San Diego, Singapore and Buenos Aires.
About Proofpoint, Inc.
Proofpoint Inc. (NASDAQ:PFPT) is a leading security-as-a-service provider that focuses on cloud-based solutions for threat protection, compliance, archiving & governance, and secure communications. Organizations around the world depend on Proofpoint's expertise, patented technologies and on-demand delivery system to protect against phishing, malware and spam, safeguard privacy, encrypt sensitive information, and archive and govern messages and critical enterprise information.