Monday, April 17, 2017
May the Force Be With You
May the Force Be With You
My mom should earn the title "Jedi Master" solely for this cake she made Jer for his birthday!!!
It started a few weeks ago when she called and told me she had an idea for a cake she could make him, if we were interested. "As long as its not very big, because there are only going to be about seven of us," I told her. Well, five and a half feet long is a long stretch (hehe) from not very big!!! It was only 4 inches wide though, so it evens out, right? I couldnt say no, I KNEW Jer would absolutely go nuts about this cake, so I accepted the offer!
There are a few Star Wars
She brought it over on Saturday before our few guests arrived. We were AMAZED!!! Jer would have picked it up and wielded it, slashing invisible enemies, had I not told him, "Fall victim to the dark side of the force you must not. Cake for eating. Restrain yourself you must." She has made many many awesome cakes before, but this one, I have to say it, takes the cake! I mean, who do you know that can make a cake that measures 5.5 feet long?!
OK... youve been waiting long enough for the pictures, so here they are!
(I had to tilt my camera to get the whole cake in the picture!)
It was the star of the party. A cake to remember! Awe-inspiring, and DELICIOUS to boot!
Available link for download
Saturday, April 15, 2017
Medical Self Defense and the Black Panther Party An interview with Alondra Nelson
Medical Self Defense and the Black Panther Party An interview with Alondra Nelson
Medical Self Defense and the Black Panther Party
Available link for download
Sunday, April 9, 2017
Minor issue with Ubuntu Desktop
Minor issue with Ubuntu Desktop
Linux and Ubuntu are awesome. I switched from developing on Windows XP to Ubuntu Desktop in late 2007 (7.04 or Feisty Fawn). I will never again develop on an windows machine. Hopefully I wont ever work for a company that requires a windows platform, but at that point I would rather buy my own work computer or setup Ubuntu in a virtual instance. I really appreciate Rob Madole and Brian ONeill for showing my the right path. I remember Brians frustration anytime he was forced to pair with me on my windows machine. Now I am like that with my co-workers.
Even though Ubuntu is great, I still have one minor compliant. Well its really 3 things combined: Extended Monitor support, Compiz, and Gnome-Do. I am addicted to all 3, but trying to get all 3 to work together seems impossible.
Extended Monitor Support
The big problem here is going back and forth between work and home. At work I want to use my monitor, but at home I use just the laptop monitor. In the past I ran nvidia-settings when I wanted go back and forth. This has been improved with some help from Ron Alleva by using the xrandr command. He gave me some aliass to run when I wanted to switch. When I first installed 8.10, I used those aliass, but it seems lately its being auto-detected because when I plug my monitor in at work, ubuntu recognizes it and I dont have to run anything. Nor do I have to run anything now when I get home. So it would seem I have a good handle on this now, but when using an extended monitor other things dont work.
Compiz
I love compiz mainly for one thing: transparency in my terminal. Im sure I have set a million other settings before, but enabling the Normal Visual Effects under the System > Preferences > Appearance setting is usually one of the first things I do. I believe this setting uses Compiz. With this setting enabled, my terminal window is transparent enough that I can see other applications in the background, like firefox or pidgin which I typically have behind terminal without having to switch back and forth. Unfortunately, it seems I cant have this setting enabled when I have an extended monitor.
Gnome-Do
Man I love it. I am hoping to eventually get to a point to where I have an entirely clean desktop like this. My favourite is the docky option seen here which is similar to Macs Spotlight. Gnome-Do works just fine with an extended monitor, but docky requires compiz to be running in Normal mode and if you recall compiz doesnt work for me when using an extra monitor.
This is probably a pretty minor compliant verses all the ones I had against Windows, so I dont expect any new patches coming out of Canonical. In an ideal world, my extra monitor would just be automatically detected, compiz would work, and therefore gnome-do docky would work.
Available link for download
Saturday, April 8, 2017
Mobile Learning Best Practices and Lessons Learned with JudyB
Mobile Learning Best Practices and Lessons Learned with JudyB
This morning, after my successful iPad purchase (yeah!), Im attending Judy Browns session on mobile learning best practices. Judys an absolute goddess in this neck of the woods, so Im hoping to learn heaps from her, so without further ado, Im going to start liveblogging and letting you know what I think Im learning. Technology is changing rapidly and its a whole new world today, says Judy. The US seems to be a little behind Japan in terms of technology, but theyre definitely up there in learning innovation. Judy is speaking about her stint with Asian Development Plan with UNESCO. The folks there were asked to come up with their mobile learning plans with some of them not having electricity! In contrast, in the west people carry Blackberrys and iPhones. In Asia and Africa at least this is starting to be about just supporting life as usual.
Mobile penetration is quite heavy, given the show of hands of the group here. 26.5% people engaged in mLearning, 40% exploring. 51% report a positive ROI! Ambient Insight reports that mobile learning is here and is a ripe technology (across seven categories of learning). eLearning is actually coming down a fair bit. Venture capitalists are investing heavily in this market as well, because mobile technologies have really unlimited reach while desktop technologies have lmited reach. Were moving to the second generation of mobile learning with cloud based, 4G connectivity. Eric Schmidt describes the mobile ecosystem as a confluence of computing power, connectivity and cloud computing and proclaims a new focus for the industry - putting mobile first. EBay and Southwest have gone ahead and changed direction significantly given their mobile strategy. We only use 23% of whats on a web page - the rest is noise. Mobile cuts that flab out in a big way. Were creating heaps of information today - is our curriculum adding to the information flab? Judys now going through several slides very quickly.
The key is that social, local and mobile are all converging. HTML5 is a key innovation at this time that can potentially help portability of interactive apps across platforms. We have interesting stats in place about mobile penetration (source Tomi Ahonen):
- 5.2 billion subscribers
- >625m access internet only through mobile
- 4.2 billion people use text messaging
- People look at their devices every 6.5 minutes on an average
- There are more people with mobile phones than with toothbrushes
Tips to get started
- Begin with the user: What are they already doing with mobile? Several students own cell phones. Smartphones have grewat penetration. People are using these for media creation - video and stills.
- Start with the end in mind: What do you want to accomplish? Are you trying to help increase sales? Will this be performance support? Will this connect communities? Will this help with reference materials? If youre doing something just for fun, its not meaningful. The 5 moments of learning needs are when people want to learn for the first time, when wanting to learn more, when trying to remember, when things change, when something goes wrong. Which moment are you catering to? What nuggets will people take away from other learning experiences that people need immediate access to? This could be the driver for mobile. This is not just elearning on the mobile. Judy recommends mobile for stolen moments of productivity. The US Army believes that perishable knowledge should not be taught in the schoolhouse, but instead be made accessible. Judy also recommends that we think outside the course.
- Plan for Success: What will success look like for you? Many companies cant share what theyre doing, but Judy has a great case study from Merrill Lynchs mobile program - GoLearn. Theyve discovered that going mobile makes things 45% faster. 100% of their audience want more of this kind of stuff and 99% of the audience believe that the format supports learning in a big way. The problem was that they didnt plan for this success and were not able to deal with the deluge of demand that followed.
- Remember Capabilities: What is not available to people on the desktop or laptop? Its important to design for the form factor and capabilties of the new devices than just porting an old way of designing to the mobile platform. GPS, multi-touch, voice, cameras, video recording - these are all new capabilties and they need to feed into the design decisions. Think about content creation, basic communications, training delivery, social networking, on-demand information access.
- Think Differently: Judy showed us a commercial course on language. The cool aspect of this course is a nifty little twitter button which the user can press and that brings up a twitter stream that shows the word or phrase youre learning about in the context of peoples live tweets! What a cool way of understanding how to construct sentences in a new language? A tweet that Judy is showing us tells a story of how easy it is to deploy to mobile app stores (3 days on Android, 5 days on apples app store) as against 112 days to go to print! Judy is also showing the app for the Obama campaign that we also participated in. How awesome! Theres a hair dressing curriculum on mobile - I personally find that interesting; do I want someone to read a course on mobile and then cut my hair?
- Think small: Bitesized, nuggets, micro-learning, small screens. Remember mLearning is about different platforms!
- Consider spacing effect: Its now affordable. We know that repetition is key to retention. We know that learning that happens over a period of time is naturally aligned to the way we pick up our skills. She is showing how based upon a womans delivery date, she can send text messages to number and get information over time that makes sense at the time that expecting mothers need this. Information in context, trumps instruction out of context. In Neil Lashers case it can just be a simple phone call. Will Thalheimer has heaps of research in support of the spacing effect.
- Consider tools: What do you need? An app? Or are you going to deploy just for the browser? Or are you going to invest in cross platform development? There are products that act more like platform connecting to your LMS and act as players for your mobile device. This is an example of develop once, deploy many times. Theres a nice mlearning guide at ADL that should work across all devices - this is an example of making a mobile website that just works across several devices. ePub is a great format to publish to mobile devices. Judy is showing a crisis response related project that she built in 3 hours, that works across several devices.
- Test, test, test: Judy puts a lot of stress on testing, though with the caveat that emulators are the same thing as actual devices.
- Plan for distribution and ongoing support: Make it known, market it, make it visible. Does your IT helpdesk know how to support this?
- Looking ahead: Judy recommends that we look ahead at emerging technologies like augmented reality, QR codes, augmented reality and interactive story telling (ARIS). And contrary to popular belief this may not be a huge cost to create.
- Dont try to boil the ocean: Judy also says that we shouldnt bite off more than we can chew. We need to start with doable projects. I would add that we need to start small, think big, release quickly and iterate!
Judy recommends that we think of the following seriously:
- Security
- IT partnership
- Policies
- Ownership
- Assessment
- Union and time issues
- Connectivity
- Bandwidth costs
- Industry changes
- User expectations
- mLearncon - coming up in June this year
- http://adlmobile.wikispaces.com
- http://mlearnopedia.com
- http://cc.mlearnopedia.com
- http://www.ambientinsight.com/Reports/MobileLearning.aspx
Available link for download
Thursday, April 6, 2017
MobiKin For Android Review The Best Tool To Deal With Everything On Your Android Phone
MobiKin For Android Review The Best Tool To Deal With Everything On Your Android Phone
MobiKin For Android Review: The Best Tool To Deal With Everything On Your Android Phone

Initially, MobiKin works as well as all Android and iOS users is dedicated to the daily life partner. The most innovative and easy-to-use software MobiKin sparing no effort, our knowledge and expertise in software for portable devices to keep enriching. MobiKin finally launched a full line of iOS and Android devices in the mobile software. And the software quickly gained a warmly welcomed in the market for third-party app.
So What This Mobikin Assistant for Android?
Windows and Mac: two versions of the program.
You can use your mobile phone in its full power and a wide range of data to store it if you are, you may have installed all the files and applications management issues. Android MobiKin assistant software solutions to help you resolve the problem, one without any hassle
Whenever you are looking for your Android data management solution unregistered version is a straightforward, though many disorders that affect the user experience of all, Android MobiKin assistant, which can come in handy.
Now, your Android OS application, Android OS dropped data with the help of luck to accomplish. On the computer help, it is possible to burn almost all data in the system, a straightforward simply click.
- Photos, media files like music, videos and your local disk via the program loaded on your device.
- You will still be able to free up more space for new files, computer, mobile phones and tablets Android contacts, text messages, applications, photos, music, etc., movies, books, cannot be shipped.
- Install or remove Apps on your phone with a simple click on the desktop computer.
- Computer backup applications for Android phones and tablets to choose from, or a block.
- Your key contacts stored in CSV format and computer text into dialog and click Export
Requirements:
Above 800MHz Intel or AMD CPU, or; 512MB RAM or more
What Makes Mobikin Assistant Different From Others??

Many Android users on the Android device while using some unfamiliar functions, they always complain that accidentally delete something important. So if you are tired of losing items from randomly if your phone?
Currently, through this android application android help finish this destiny of the dropped data. It is a uncomplicated click on, you possibly can support each of the data through the device in your computer
Features:
1:Android Backup

Android phones & tablets from the computer, etc. text messages, contacts, photos, music, apps, such asbacking up all your personal data can be a great way to avoid accidental data loss. And in some casesyou need to share files between the device and the desktop computer. That's why you want to find all thereferences to the center.
Transfer SMS from Android to PC
In some cases, a specific time in your life books about the need to be treated as a precious memories.That's why the backup system to copy text from your mobile phone.
Transfer Contacts from Android to PC
Contacts mobile phone is one of the most important data. In this article, we show you detailed instructionsfor converting clicks to your personalcomputer to the Androidcontacts.
2:Android Recovery

No matter how careful you are, lost data, daily life and work is still going on here and there. So in addition to your Android device regularly data backup, data recovery, you must have some knowledge.
So, for the first time, you can find your lost deleted or formatted data back. In this center, we collected andpicked up tips for your reference most useful Android data recovery. If you have this problem, go to a pageto find your own answers.
Recover Deleted Contacts from Android
Now you can be a devastating loss of important contacts information. Read this article and you are easilyremoved from any kind of Android phones is the easiest way to get back in the contacts list.
Removed Text Messages coming from Samsung Galaxy
Many people hold the idea that it will never come back deleted SMS. So in response to the loss ofimportant messages, they usually do not have anything to do. But in fact, you are still in your device to loadnew data is that a chance to recover deleted messages on the Samsung Galaxy.
Final Words
I cannot say the same for the back end, the best way to attract the person that goes out of his way towards the sun "Mobikin the attention of the competition is to help people " And a similar platform provides all the features needed for efficient marketing and you want to achieve in the field where the key is to help the Android Mobikin Android Therefore, it is undoubtedly worth the effort Mobikin assistant safest mode of your data, or if you plan to get started
Available link for download
Monday, March 20, 2017
mexican fiesta salad with cilantro lime vinaigrette
mexican fiesta salad with cilantro lime vinaigrette

And if you are anything like me and want to make leftovers out of everything in sight, you can save an opened avocado for later if you leave the pit in the unused half. To save guacamole, throw the avocado pit in the bowl and store the guacamole or unused avocado in an airtight container.
Mexican Fiesta Salad with Cilantro Lime Vinaigrette
makes 4 salads
for the salad
1 head of lettuce
1 c. pico de gallo (store bought or homemade)
1 c. queso fresco, crumbled
1/2 red onion, diced
avocado
cilantro lime vinaigrette
1 c. packed cilantro
1/4 c. extra-virgin olive oil
1/4 c. lime juice
1/4 c. orange juice
1 tbsp honey
1 garlic clove, minced
pinch of salt and pepper
Blend or puree cilantro, olive oil, lime juice, orange juice, garlic, salt and pepper together in a blender or food processor.
Toss lettuce, pico de gallo, queso fresco, red onion, avocado and dressing together.
Available link for download
Monday, March 13, 2017
Modelling repeating structures with Geb page objects
Modelling repeating structures with Geb page objects
Geb is the hot new thing in Grails functional testing. One of its most powerful features is the concise DSL for defining page objects. The reasons for using page objects are well enumerated elsewhere but the basic point is to allow your tests to interact with pages in a manner agnostic of the detail of their structure. This is both practical (you can change markup structure without having to fix numerous tests that only fail because they were tightly coupled to that structure) and aesthetic (your tests read more like a user’s interaction with the page - the what rather than the how).
I want to put together a few short blog posts dealing with patterns that I find useful for defining page objects and modules in Geb. As I go I’ll keep adding to a very simple Grails project showing working examples which is available on GitHub.
In this post I want to talk about repeating data structures such as lists and tables and how to model them effectively.
A content property in a Geb Page
or Module
can be any type; whatever is returned from the defining closure. This will frequently be a Geb Navigator
instance or a String
but can be whatever is useful for the tests you’re writing. A good rule of thumb is that the test should be dealing with as simplified a view of the data as possible. All the complexity of traversing HTML elements and manipulating them into a useful form should be hidden away in the page objects and modules. When handling repeating data structures such as ol
or table
elements you probably want to be able to treat the content as a List
so that tests can use Groovy features such as iterator methods, indexing and slicing to make very expressive assertions.
Simple repeating structures
For example, imagine we want to verify an ol
element like this:
<ol id="recent-books">
<li>Zero History</li>
<li>Surface Detail</li>
<li>The Machine of Death</li>
</ol>
The most useful type would probably be a List<String>
which we can get easily enough by defining our content like this:
static content = {
recentBooks { $("ol#recent-books li")*.text() }
}
This is then very easy to use in a test:
expect:
recentBooks == ["Zero History", "Surface Detail", "The Machine of Death"]
Complex repeating structures using Modules
A more complex example of a repeating structure is a table, where each row contains several fields. Here we can use a Geb Module
to represent each row, with content properties to get data from each cell. Let’s say we want to verify the contents of the following table of search results:
<table id="book-results">
<thead>
<tr>
<th>Title</th>
<th>Author</th>
<th>Format</th>
<th>Price</th>
<th>Release Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Zero History</td>
<td>William Gibson</td>
<td>Hardback</td>
<td>£12.29</td>
<td>2 Sep 2010</td>
</tr>
<tr>
<td>Zero History</td>
<td>William Gibson</td>
<td>Kindle</td>
<td>£11.99</td>
<td>2 Sep 2010</td>
</tr>
<tr>
<td>Spook Country</td>
<td>William Gibson</td>
<td>Paperback</td>
<td>£5.00</td>
<td>31 Jul 2008</td>
</tr>
<tr>
<td>Pattern Recognition</td>
<td>William Gibson</td>
<td>Paperback</td>
<td>£4.99</td>
<td>24 Jun 2004</td>
</tr>
</tbody>
</table>
We can define our module like this:
static content = {
bookResults { i -> module BookRow, $("table#book-results tbody tr", i) }
}
class BookRow extends Module {
static content = {
cell { i -> $("td", i) }
title { cell(0).text() }
author { cell(1).text() }
format { cell(2).text() }
price { cell(3).text()[1..-1].toDouble() }
releaseDate { cell(4).text() }
}
}
The bookResults
content closure takes a row number parameter and uses it to select the corresponding tr
from the body of the table and use that to construct a module. The module itself defines content properties with meaningful names that map to the text in each cell.
This isn’t bad as far as it goes. We can use the module pretty effectively in tests like this:
expect:
bookResults(0).title == "Zero History"
bookResults(3).price == 4.99
However, bookResults
isn’t a List
. We can’t easily get all the book titles at once or make an assertion that all the authors are the same or find the lowest price. Even querying how many rows there are would require an additional content property or method to retrieve $("tbody tr").size()
. The table is a repeating data structure and it would be nice to treat it as one!
This ought to be possible bearing in mind 3 things:
- The type of a content property is simply whatever you return from the defining closure, there’s no reason we can’t return a
List<BookRow>
. - There’s nothing special about the expression that constructs the module itself:
module BookRow, $("tbody tr", i)
is just a call to a method calledmodule
passing aClass<? extends Module>
which is the module type we want and aNavigator
pointing to the module’s root element. - The Geb
Navigator
class returned by the$
expression implementsIterable<Navigator>
and can be treated like aList
of all the selected HTML elements.
In fact we can get a List<BookRow>
easily enough if we redefine the bookResults
property like this:
static content = {
bookResults {
$("tbody tr").collect {
module BookRow, it
}
}
}
The key here is that we iterate over the tr
elements inside the content definition collecting a new BookRow
instance for each one. Now the page object doesn’t require the test to pass in the index of the row it’s interested in. This enables our test to do some much more powerful and interesting things:
expect:
bookResults.size() == 4
bookResults[0].title == "Zero History"
bookResults.title.unique() == ["Zero History", "Spook Country", "Pattern Recognition"]
bookResults.every { it.author == "William Gibson" }
bookResults[2..3].every { it.format == "Paperback" }
bookResults.price.sum() == 34.27
I’ve tried to show a couple of reasonably simple examples here. Others are easy to imagine; a Map
representing the dt
and dd
elements inside an HTML definition list, a list of modules representing a group of labelled radio buttons or news items with images and links, a tree-like multi-level navigation structure, etc.
Available link for download
Messing around with bikes
Messing around with bikes
Lately Ive been enjoying my hardtail. Mainly I seem to wheelie a little better on it, meaning two pedal strokes in stead of one. Its all relative.
But Ive been meaning to try out the 100mm for on it just to see how it rides. I slapped it on yesterday and ran it up Old Farm today. My legs are definitely on the upswing as two days after Poor Farm I was able to post a great time, only 30seconds off my best time.
So it climbed decently. I had to get off and hike a couple of times from spinning out, but thats a hardtail issue and not the fork.
It felt a little awkward going down. Its my first ride on it, and its just like when I go back to the dually after being on the hardtail, it takes at least two to three rides to get the timing back.
It is definitely steering a little slower. My Minute 100 has an Axle to crown of 573 mm and the Black 80SPV is 553 so a 20mm difference in height. I removed 20mm of spacers to place the bar in the position, but the added AC height ends up slackening the head tube. In addition, I also had to adjust the tilt of my saddle.
The bikes was originally built almost 9 years ago with a 71.5 head tube around a 70mm fork. Quick yes, but in my younger days thats what I wanted. It put my on my ass several times. Since then I moved to the Black 80 SPV which helped slacken it up to probably a 71 degree. That is pretty standard for XC bikes. My dually has a 70.5 head tube and its always felt a little bit tamer and in control.
It takes more muscle to get it to corner but overall the stability was nice when tired. The extra travel was also nice on the downhills for the bigger hits. Ive always wondered how the hardtail would fare and was thinking that a 70.5 degree head tube combined with a 100mm SPV type fork would make an ideal hardtail for our technical terrain out here.
It would climb decently but then also decend well. Im going to withold final verdict till after a few more rides. But so far I know that it does climb pretty well.
Oh just a note. I am pretty convinced that a dually is faster in the long run. The cummulative fatigue just adds up so much that 2-2.5hrs into it the dually starts to pay off. But I am just having fun on the hardtail. It really forces you to be on your game.
Now 3hrs into a ride Ill change my tune but for short rides when youre mentally and physically there they rule. The fitter experts can do it for longer.
The funny thing is that just crusing around with the kids on the trail I think a dually is way better. Cause youre going slower and sitting down and take every hit right through the saddle.
Available link for download
Thursday, March 2, 2017
Mock Testing with Groovy
Mock Testing with Groovy
Mock classes enable developers to quickly write unit tests that would otherwise require integration tests because of the need for a database, web container, or servlet container. Using mock classes helps to test a class in isolation and enables rapid feedback. Its not ideal to have a project with only integration tests and no unit tests. Mock classes enable unit testing that otherwise would be impossible.
So how does one create a mock class? Well, there definitely is not a shortage of mock frameworks: EasyMock, jMock, Gmock, MockFor and StubFor. You can always just create your own mock class in your test suite (which I have done in the past when in a pinch). But in my opinion these solutions lack one thing: the ability to quickly create a simple mock that when called returns what I want. To many of the mock frameworks force you to jump through hoops and call methods like expect(), replay(), verify(). What I want is the ability to define a mock class in a single line and inject it myself.
I thought MockFor and StubFor would be the solution, but the documentation is lacking and I havent figured out how to make it work for me. Ideally I would like to say something like:
def mock = new MockFor(ICarDao.class) {
getCar: {return new Car(color: "blue")}
}
Then MockFor would mock out the remaining methods of ICarDao and now I have a mock class that implements the getCars method that when called by the Class Under Test (CUT) will return a single Car model. But MockFor doesnt work like this and neither do any of the mock frameworks to my knowledge.There is hope however. Below you can read about 2 alternatives: groovys metaClass and as keyword. Both require the use of groovy in your tests. If you havent switched to using groovy to write tests yet, even for Java, then its time to start now. There is no other framework or library that can make you more productive when writing tests. Its an instant boost.
Groovys metaClass
As seen in this example, groovys meta programming is very powerful. In that post I show how one can essentially mock out Thread.startDaemon() by using Thread.metaClass.static.startDaemon. Groovys meta programming is very powerful as seen by its heavy use in grails to make things simple. But it doesnt work in all cases.
Groovys as keyword
Using metaClass is by far the easiest and my favorite way to create a mock class. However, this didnt work for me in my recent attempt to write some unit tests for a Java Manager class that used spring to inject a DAO that the manager used. It didnt work I believe because my Manager class never created the concrete DAO. It defines some getters and setters and expects spring to inject the concrete class. Because of this metaClass didnt work (bummer). So I did a lot of research to come up with a competitive alternative: groovys as keyword.
Lets start by defining the Manager class:
public class CarManager {
private ICarDao dao;
public void startCar() {
Car car = dao.getCar();
.......
}
public CarManager setCarDao(ICarDao dao) {
this.dao = dao;
return this;
}
}
Now to test this using mock classes and the as keyword all you need to do is this:This uses a map and the as keyword to implement an interface. Here the key is the name of the method to mock and the value is a closure of what you want returned when called. And there is no need to define all the methods of the interface, just the ones you want to mock out.class CarManagerTest extends GroovyTestCase {
def void test_start_car() {
ICarDao mock = [
getCar: {return new Car(color: "blue")}
] as ICarDao;
def cut = new CarManager().setCarDao(mock);
}
}
To me, metaClass and the as keyword are much cleaner and simpler compared to the current mock frameworks. At least for this type of testing. Those frameworks might be perfectly useful for other types of testing, I just havent ran into them yet.
Available link for download
Tuesday, February 28, 2017
Medication with Atomoxetine for ADHD and Tourettes
Medication with Atomoxetine for ADHD and Tourettes
ADHD medication
ADHD and Tourettes? Try Strattera (Atomoxetine)
One of the most difficult things about ADD and ADHD is that these disorders are often accompanied by other disorders (called comorbids). One of these disorders is Tourettes Syndrome. Tourettes is actually has a spectrum in and of itself, and can include behaviors such as twitches, tics, vocal "spurts", erratic movements, and in some cases, impulsive foul language. What makes Tourettes so interesting is that it tends to bridge the gap between disorders that are often found on opposite sides of the spectrum with regards to brain chemistry.
Over half of Tourettes individuals are also co-diagnosed with either ADD/ADHD or OCD (obsessive compulsive disorder). For individuals seeking treatment, the number of individuals with Tourettes that also have ADD or ADHD may be as high as 80%, according to some studies. ADHD is typically associated with low levels of the brain chemical dopamine in the front part of the brain, and high levels of serotonin. The latter, OCD, is typically affiliated with low serotonin and higher dopamine levels. Tourettes fits somewhere in between these two, from both a chemical and symptom-based standpoint.
Although there are a number of treatment options out there for ADHD, finding one that is effective in also treating the comorbid symptoms and disorders is also crucial. One of the reasons is that stimulants (such as Ritalin, Dexedrine, Adderall, or Concerta) often make several of the Tourettes symptoms, such as motor or vocal tics, worse. However, non-stimulant ADHD medications show some potential for treating these comorbid disorders. A likely reason is a different underlying chemical mechanism than that of stimulants. Several studies have indicated that the non-stimulant ADHD medication Strattera (Atomoxetine) has also been an effective treatment for Tourettes.
Although other drugs, such as Clonidine, have been tried and displayed positive results for a number of studies. However, Clonidine has also shown side effects such as sedation (drowsiness) in several different cases. While stimulants still serve as the primary mode of treatment for ADHD, we must be careful when the disorder is accompanied by other comorbid disorders, such as Tourettes. If this is the case, then non-stimulant medications such as Atomoxetine must be considered as viable alternatives in the ADHD medication world.
ADHD medications
Available link for download
Tuesday, February 21, 2017
Mini Caramel Apple Cheesecakes with Streusel Topping
Mini Caramel Apple Cheesecakes with Streusel Topping


Recipe adapted slightly from cookingclassy.com
Makes 18 mini cheesecakes
For the base
16 digestive biscuits
2.5 tablespoon caster sugar
1 teaspoon ground cinnamon
85g butter,melted
For the filling
340g cream cheese
225g caster sugar
3 large free range eggs
3/4 cup creme fraiche
3 or 4 Granny Smith apples, peeled, cored and chopped into tiny pieces (if the chunks are too big, the apples wont cook fully)
3 tablespoons lemon juice
For the streusel topping
80g plain flour
40g oats
75g brown sugar
1 teaspoon ground cinnamon
1/2 teaspoon ground nutmeg
57g butter
- First prepare the streusel topping by mixing all the ingredients together in a large bowl using your hands until the mixture resembles breadcrumbs.
- Cover and chill in the fridge.
- Preheat the oven to 165C.
- Prepare the crust by blitzing the digestive biscuits in a food processor or bashing them with a rolling pin in a ziplock bag.
- Add the melted butter, sugar and cinnamon and stir until mixed.
- Line 2 muffin tins with 18 cupcake/muffin liners.
- Divide the mixture evenly between 18 cases and press down gently.
- Bake in the pre heated oven for approximately 5 minutes then remove from the oven and allow to cool.
- Make the filling by beating the cream cheese with the sugar until smooth.
- Add the eggs one at a time followed by the creme fraiche and mix well.
- Pour the filling (use a measuring jug with a pouring spout) on top of the baked cheesecake crust until about 2/3 full.
- Peel, core and finely chop the apples then toss in fresh lemon juice.
- Place a generous spoonful of apples on top of each cheesecake.
- Top with the streusel topping.
- Bake in the pre heated oven for approximately 30-35 minutes or until golden brown.
- Allow to cool completely then chill in the fridge for a few hours or overnight.
- Just before serving, pour a generous amount of caramel sauce on top of the cheesecake. I used ready made caramel sauce but you can also make your own.
Available link for download