krypted.com

Tiny Deathstars of Foulness

Let’s do a typical Hello World example in Swift. I have Xcode installed, so I can invoke a swift environment using xcrun, a command to start an interactive Xcode environment and then defining swift as the language I want to use, as follows using a standard Mac terminal session: $xcrun swift Then I get a welcome screen, which is kind: Welcome to Apple Swift version 2.1.1 (swiftlang-700.1.101.15 clang-700.1.81). Type :help for assistance. Then, I can throw some string into a variable: 1> let mystring = "Hello Swift" And I get a response that the string was accepted, as a string: mastering: String = "Hello Swift" Then I can just echo that string out, popping it into a quoted and parenthetical (since it has a variable inside it, made regular by the \): 2> print ("mystring is \(mystring).") And I get the following response: mastering is Hello Swift. Pretty simple syntax. We can also use two strings and then use the + operator to concatenate (a typical programming task): let firstword = "Hello" let secondword = "Swift" let mystring = firstword + secondword print ("mystring is \(mystring).") Now that the basics are out of the way, why not build a Swift API…

February 14th, 2016

Posted In: iPhone, Mac OS X, Swift

Tags: , , ,

When I was just getting started with AngularJS, I found jsfiddle.net, a site that allows you to enter someĀ code and run it straight from a browser. So, what do you do first: Hello World of course. This one with a little input twist… <!DOCTYPE html> <html ng-app> <head> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script> </head> <body> Enter Your Name: <input type="text" ng-model="name" /> <h1>Hello {{ name }}</h1> </body> </html> Screen Shot 2015-09-08 at 1.58.35 PM

September 8th, 2015

Posted In: Java

Tags: , , , , ,

Merry Christmas and to all a good night!
<html>
<head>
<title>Merry Christmas</title>
<script type="text/javascript">
function MerryChristmas()
{
   alert ("Merry Christmas!");
}
</script>
</head>
<body>
<a href="javascript:MerryChristmas()">MerryChristmas</a>
</body>
</html>

December 24th, 2014

Posted In: Mac OS X, Mac OS X Server, Mac Security

Tags: , , , ,

touch helloperl.pl Open helloperl.pl and paste the following in there: print "Hello Cruel Perln"; Make sure you have executable permissions for helloperl.pl. Then run: perl helloperl.pl

February 29th, 2012

Posted In: Mac OS X, Unix

Tags: , , , , , ,

Create a file called goodmorning.rb and paste the following into it: #!/usr/bin/env ruby puts 'Good Morning' Make the file executable for your user. Then run the file (let’s just say it’s on the desktop of a user named admin): /Users/admin/Desktop/goodmorning.rb That’s all for this morning…

February 9th, 2012

Posted In: Mac OS X

Tags: , ,

I recently got my hands on one of those Google ChromeBooks (Cr-48). Interesting to have an operating system that is just a web browser. But, as anyone likely reading this article already knows, the graphical interface is the web browser and the operating system is still Linux. But what version? Well, let’s go on a journey together. First, you need ChromeOS. If you’ve got a ChromeBook this is a pretty easy thing to get. If not, checkĀ http://getchrome.eu/download.php for a USB or optical download that can be run live (or even in a virtual machine). Or, if you know that you’re going to be using a virtual machine, consider a pre-built system from hexxeh at http://chromeos.hexxeh.net/vanilla.php. I have found the VMware builds to be a bit persnickety about the wireless on a Mac, whereas the VirtualBox builds ran perfectly. I split my time between the two anyway, so I’ve just (for now) been rocking VirtualBox for ChromeOS. When you load it for the first time it asks for a Google account. Provide that, select your network adapter, choose from one of the semi-lame account images ( for the record, I like the mad scientist one) and you’re off to the races. Next, we need a shell. When you first log in, you see a web page that shows you all of the Chromium apps you have installed. By default, you’ll see File manager and Web Store. If you’ve used the OS X App Store then the Chrome Web Store is going to look pretty darn familiar. My favorite for now is Chrome Sniffer. But all of these kinda’ get away from where we’re trying to go: get a scripting environment for Chrome OS. Chrome comes with 2 types of shell environments. The first is crosh. To bring up a crosh environment, use Control-Alt-t. This keystroke invokes the crosh shell. Here, type help to see a list of the commands available. Notice that cd, chmod, etc don’t work. Instead, there are a bunch of commands that a basic user environment might need for troubleshooting primarily network connections. “But this is Linux” you ask? Yup. At the help output you’ll notice shell. Type shell and then hit enter. The prompt will change from crosh> to chronos@localhost. Now you can cd and perform other basic commands to your hearts delight. But you’re probably going to need to elevate privileges for the remainder of this exersize. So let’s type sudo bash and just get there for now. If you’re using a ChromeBook, the root password might be root, or if you’re using a downloaded vm from hexxeh then it might be facepunch (great password, btw). Provided the password worked, the prompt should turn red. Now, if you’re using a hexxeh build then the file system is going to be read-only. You won’t be able to change the root password nor build scripts. But otherwise, you should be able to use passwd to change the password: passwd chronos Once you’ve got slightly more secure shell environment (by virtue of not using the default root password), it is time to do a little exploring. Notice that in /bin, you see sh, bash, rbash and the standard fare of Linux commands (chmod, chown, cp, attr, etc. Notice that you don’t see tcsh, csh or ksh. So bash commands from other platforms can come in, but YMMV with tcsh, etc. Running ps will give you some idea of what’s going on process-wise under the hood: ps aux From encrypts to crypto to the wpa supplicant, there’s plenty to get lost in exploring here, but as the title of the article suggests, we’re here to write a script. And where better to start than hello world. So let’s mkdir a /scripts directory: mkdir /scripts Then let’s touch a script in there called helloworld.sh: touch /scripts/helloworld.sh Then let’s give it the classic echo by opening it in a text editor (use vi as nano and pico aren’t there) and typing: echo "Hello Cruel World" Now close, save and then run it: /scripts/helloworld.sh And you’ve done it. Use the exit command twice to get back to crosh and another time to close the command line screen. You now have a script running on ChromeOS. Next up, it’s time to start looking at deployment. This starts with knowing what you’re looking at. To see the kernel version: uname -r Or better: cat /proc/version Google has been kind enough to build in similar sandboxing to that in Mac OS X, but the concept that you can’t run local applications is a bit mistaken. Sure, the user interface is a web browser, but under the hood you can still do much of what most deployment engineers will need to do. If these devices are to be deployed en masse at companies and schools, scripts that setup users, bind to LDAP (GCC isn’t built-in, so it might be a bit of a pain to get there), join networks and the such will need to be forthcoming. These don’t often come from the vendor of an operating system, but from the community that ends up supporting and owning the support. While the LDAP functionality could come from Google Apps accounts that are integrated with LDAP, the ability to have a “One touch deploy” is a necessity for any OS at scale, and until I start digging around for a few specific commands/frameworks and doing some deployment scripts to use them, right now I’m at about a 6 touch deploy… But all in good time!

September 8th, 2011

Posted In: cloud, Mass Deployment, Ubuntu, Unix

Tags: , , , , , , , , , , , , , , , , , , , ,