Transferring Data From a Microsoft Phone App using ISeTool.exe

A while ago I wrote some revision apps for the Android Market place, these are not currently on the store as I have parted ways with the Android Marketplace and have started working with the Windows Phone tools instead. One of the things that used to annoy me about my Android application was that the application used to ship with CSV files. Then during its first boot it would load its local SQLite datastore with the contents of the CSV files. I always wondered why I couldn’t just ship my application with a loaded database.

In Windows Phone you apparently can, although it is not recommended to ship it with a SQL CE file you have made yourself. It appears instead that Microsoft want you to create a ‘helper’ application that creates your database, you can then ship you database with your application. While I am still relatively new to mobile development I still don’t really get why there isn’t just a database creation tool that can help me design and populate my database, I guess it has to do with the Windows Mobile 8 database storage APIs and needing access to Windows Mobile 8 itself to create and populate the database? If anybody knows I would appreciate an explanation. Still, having an helper application makes me code feel ‘cleaner’, and the creation of the data is separate from the application that does stuff. I’m still getting used to the MVVM model, but it doesn’t seem a million miles away from MVC.

As I say, I’m new to this but my work process for creating an application is now

1) Build helper application as per the instructions here. If you poke about on Google you can find the Visual Studio solution download for the project.

2)Edit the application so that it has your data model.

3)Run application from Visual Studio

4)You now need to transfer the data from the emulator or physical phone. I’m using a physical phone because Microsoft have this stupid layered windows scheme where you can’t do simple stuff without the version of Windows above what you have I don’t have Windows 8.1 Pro.

To transfer from the phone you need a tool that is installed with the Windows Phone SDK called the IsolatedStorageTool and the GUID of the application, I found this in the output dialog of Visual Studio. It is a command line tool and can be run from the prompt like so:

C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Tools\I
solatedStorageExplorerTool\ISETool.exe” ts de 77A80316-384D-40DC-A8C3-C4054676E8
5C d:\

ts is the argument to download the filesystem and de dictates a physical device, just run ISETool for a list of commands.

I have noticed that there is a SQLite download for Windows Phone 8. I wonder if all this was worth it? I guess so, I’d never even heard of LINQ before I got started!

Posted in Mobile Development Tagged with: , , , ,

VBA script to loop through directory of CSVs and create separate PowerPoint presentations for each file

As per the very long title, this is a Visual Basic for Application that will loop through directory of CSVs and create separate PowerPoint presentations for each file script which I am saving this for future reference.  VBA script to loop through directory of CSVs and create separate PowerPoint presentations for each file based on the contents of the CSV. Because many of the questions in my CSV have a comma I have used ; as a delimiter, I set this when exporting from my original data source (MySQL) , but you can also change the delimiter in OpenOffice without messing with the operating system.

 

 

Posted in Uncategorized

Auto generating PowerPoint presentations from CSV

I recently held an activity that captured responses to questions from a questionnaire in CSV format. I wanted to be able to convert these answers in to slides on a PowerPoint presentation. Rather than rewrite them all I remembered that Visual Basic for Applications used to be able to do this thing so I jumped on to a Windows machine to try it out. Overall I was quite pleased with how quickly I was able to get some code working, it took about 2o minutes to read through the Microsoft developer documentation and get some working code.

This VBA script will read from one CSV and create two slides for each line, a question slide with a question and a choice of answer, followed by an answer slide that had the response on it. The code is not documented well, but you should get the gist.

ToDo: loop through a all the CSVs in a directory and then save a powerpoint file for each.

Posted in Hacking Tagged with: , , ,

Big Data and Procedures

Perhaps you may work in an environment where you can see immoral/unethical actions that are justified with the saying ‘I was following procedure’. Maybe you see the people at the top of your organisation creating procedures to tie staff to their authority and ideology? Some people I know would say that in their institution procedures are a fixed way of doing things that people follow in fear of their jobs, ruling out any kind of spontaneous or progressive work.  Whatever you think about the word, in an troubled institution does not always conjure up the best thoughts, or the best people.

I am not saying that ‘procedure’ should conjure up dark thoughts.  I took away the human element from the word and thought about procedures in my code, a place where procedures are absolutely vital in it working. I started by looking up what ‘procedure’ meant in computer science on Wikipedia. I found the entry for procedure in computer science now forwards you to the article for ‘subroutine’ described as:

 a sequence of program instructions that perform a specific task, packaged as a unit.

Now that sounds handy and efficient, we need more of them! Now I feel conflicted when I think of procedures, I think of control and efficacy, humans and machines. Machines are good at being efficient, tell them to do something and they will do it. I have been thinking about procedure for a while and I it was funny that friends had too, yesterday Mark Johnson in his latest blog post said:

Universities have become bureaucratic on the back of technologies. Increasing efficiencies have left little space in the lives of academics to think. If we only paused for breath, we know what really matters, what we ought to be doing with the few years that we live on this planet.

I think he is right, there is a danger that we don’t think and we just do – like the machines. Listening to the consultants it would appear that many of the policies driven by technology are created by looking at data, or at least they claim they can sell you something to make procedures from the data. The analytics dashboard, based on Big Data says that students do X, so our policy must be Y. Big Data and the algorithms that use it to create the institutions increasingly efficient policies are justified in almost a religious matter. The policies come from messages from our supreme being of Big Data through the church of algorithms to the head bishop of the institution (and his board). Big Data and algorithms might be good at pointing out efficiencies for policy, but they are not good with thinking, ethics or morality.

A few days ago I jotted down some thoughts on how Big Data and the models of institutions/Google/whatever are exploiting us and making it feel culturally acceptable to treat each other the same way. In that post I thought about the role that server-less technologies and data protection frameworks play in that space. I feel this matches up somewhere.  Mark’s final thought of his post, thinking about ‘ ..a way of addressing the real problem of our plague of functionalism’ is a absolutely a key issue.

Posted in Big Data

Developing for Windows Phone 7/8/10 for Free (Students)

When I was in uni/college one of the things I really liked about the Microsoft development environment (it was Visual Studio 6 back then), was how cheap it was for students to get hold of the software for cheap. Growing a bit weary of both the Google and Apple way of doing things I’ve recently started to get back to grips with Microsoft development and I’ve noticed that the deal is still pretty good for students.

If you have a student email address the whole thing is pretty much painless, you need to sign up as a student at: https://www.dreamspark.com/student. If you don’t have a institutional email address you will need an ISIC card, or failing that you can supply documentation to them (when I did it a similar thing in college I emailed them a scan of college acceptance letter, took about a week to verify – but this was about 12 years ago..). Once you have signed up and verified your email you can browse the rather extensive catalog of student freebies and discounts.

Because there are so many freebies it is a little hard to work out what you can get to develop Windows phone apps. This is the route I am currently taking, I can’t tell you how well it works at the moment in time:

That should be everything you need to get developing for the Windows Phone Store for free. There are other useful bits you can get through Dreamspark. You might be interested in the github education pack for somewhere to put your code. I was also interested in the Microsoft Virtual Academy which Dreamspark gives you full access to, its full of really good tutorials and the such.

The one thing I can’t seem to get access to is the Windows 8 GameMaker Studio exporter, while GameMaker studio seems to be the tool for making Windows Phone games, the module that exports it for Windows Phone is $299, if students could get a discount or trial on this it would really make the whole Windows Phone development experience very cheap for students.

 

Posted in Uncategorized Tagged with: ,

Getting started with Archi (again)

I’ve been trying to get my head around different ways that enterprise architects explore existing and potential business models. Being a complete novice I’ve found two major blocks to my progress.

The first problem I have is not really understanding the different different strategic management and entrepreneurial tools or the frameworks available for enterprise architecture. There seems to be lots of frameworks to help understand system complexity and deal with poor business alignment, according to the Microsoft Develop Network the big four are ArchiMate, TOGAF, Zachman and FEA. The problem is where to start, what advantages and disadvantages do the different frameworks have?

The second problem is which software to start playing with? As a developer the way I like to explore new concepts is playing with software. There seems to be lots of software supporting Enterprise Architecture, but this choice in itself brings a problem. Do I start with a piece of kit that supports a single framework, if so which framework? The cost of much of the software is so high that if you invest then you must be certain that you are investing in software which supports the way you want to work, not a good way to start if you are playing with software just to try stuff out. The complexity of many of these tools also makes it difficult for me to get started with them.

After quite a while having a poke around the available tools I ended up at the Archi modelling tool site. I have played with Archi before as it was originally developed within the group I work for, Cetis. The tool is now developed outside of Cetis by the original developer and I was pleased to see new versions being released.

Since my last session with Archi there seem to have been quite a few changes, but the most exciting one for me is the ability to create a model from a canvas or template, the default canvas’ shipped with Archi being SWOT and Business Model Canvas, which means I can get in to ArchiMate by using well know strategic management tools that I am also starting to get to grips with.

Posted in Business Modeling Tagged with: ,

Sim University ideas

I’ve recently been interested in developing a University simulation  game, the idea being that you play as a student battling the system to get your degree. The reason for this game is that in my mind somewhere the awful hoops that students have to jump through and techniques such as gamification go hand in hand. It would seem that most text on gamification sees it as a way to increase engagement of the students, but if we are going to start using gamification techniques to make them jump through these hoops, isn’t that more of a type of exploitation. Two years ago Gartner seemed to think 50% of organisations would be using gamification techniques by this year, I’m not sure where they stand now, but it really worries me that it is an excuse to get them through the system (and taking their money) without really thinking about why the hoops exist.

The aim of the game would be to complete University, it would be a simple game where all you do is press the buttons you are told to press and wait. You can jump through hoops faster by doing things the institution tells you, pay a little more money here, click a few more buttons there, supply us with this data we can use against you, etc etc.

I guess the game is a bit like cow clicker but is not only to put a mirror up to both gamification techniques and problems the students have with the education system, but to try and explore the fact that the combination of these things might end in disaster.

So, I could do with a clue where on to start, or perhaps even some assets that could help me out…

 

Posted in Computer Games

Notes: Business Process Modeling in Netlogo

One of the things I will have to get to grips with again for the a work project is agent based modelling, in particular agent based modelling business processes. While I haven’t played with Netlogo for a long time I remember that it was a nice easy place to start and I am not worried about getting back in to it, I am worried however that I know nothing about business processes. The place to start is to talk to people in the department that do know something about business modelling. Our strategy isn’t to use ABM on its own so I foresee lots of interesting conversations about different modelling techniques and how we explore business models that will feed in to the ABM side of things.

In the mean time I wanted to start playing with Netlogo again, perhaps get my head in some code. I decided the first thing to do would be to look for exisiting business modelling done in Netlogo, but I did not find much. Still, some starting points, I’ve  started to explore models of knowledge transfer thinking that might be useful and the such:

Starting points

The SKIN model is a Netlogo model with the aim to simulate the behaviour of innovation networks in complex social systems. I have previous played with the code and one of the things that it reinforced was that Agent Based Modelling is sometimes a good way of introducing concepts, I’ve read about the model in various papers and playing with the model, which was written by the papers authors really helped me get my head around what they were trying to achieve.

This seems the go to model for supply chains, but recently a new model for supply chain analysis (Palm Oil Supply Chain in fact) went online on the Netlogo models hub. I also found a simulation game made in the 60s to explore distribution of goods. I think I may have come across this before when reading The Fifth Discipline and subsequently forgotten about it. There are plenty of Netlogo versions of the game. There are also some interesting papers that might point me in the right direction, Simulating Learning Networks in a Higher Education Blogosphere, and Improving Business Process Models with Agent-based Simulation and Process Mining The triple helix by Loet Leydesdorff might also be a place to start thinking about ways to start modelling in Netlogo.

Posted in notes Tagged with:

Big Data, exploitation, privacy and not being hosted

In a period of both getting and bidding for new projects a colleague said: “The thing about all these exciting things is that they always end in disaster”. To be fair my colleague had a lot on his mind, he is currently writing a project bid and has just sat through a presentation about a new project we are just starting, it’s kind of a critical time for him and there are a lot of new concepts buzzing around so there is potential for lots to go wrong. Still, the sentence was not uttered until we pushed him over the edge, the edge being that we started to talk about ‘Big Data’.

When I first heard the term Big Data I did not like it, it felt to me like the term belonged to two things: first, a way of describing data being handled by tools that could manage large datasets, things like hadoop and the such. Secondly a buzzword for marketers meaning ‘that stuff in the cloud somewhere’. The former being the one I encountered more in the wild. Now I feel like my colleagues use it in a different sense, perhaps unknowingly, the term here now means: ‘the stuff we all leak that ends up being used to exploit society’.

Following conversations on the ‘big data’ social networks I notice the emergence of many narratives that end up in the harassment and victomisation of vulnerable people. While there is much writing about vulnerable people being exploited by large corporations who have access to big data (see: gamification , PRISM , GHCQ, etc etc etc) , it appears that individuals are also doing a pretty good job of being able to exploit each other. I don’t know my psychology, but it would seem that humans do not do well in large groups, and that there appears to be an emergence of professional victimisers (from Jay Allen’s article) that by using these datasets are able to find figures that they can lead a hate mob against, these victimisers then capitalise by using crowd funding tools such as Patreon to extract funds out of said angry mob. The most famous of these fashionable hate narratives, as pointed out by Jay, is the anti-feminist one in computer gaming, a cry that any female who complains about mistreatment is a professional victim. I’m not going in to #gamergate or other hate campaigns here but Jay’s article is a good description of how these hate leaders jump on the group think bandwagon and use crowd funding tools to turn a hobby of harassment in to a job while ruining the lives of their targets.

The reason I am blogging about this issue is because I haven’t quite thought it through yet and blogging helps to make the picture clearer in my mind, but I think the issue is a problem in how we are managing and digesting Big Data. This problem applies to us all and not just the large corporations. The problem of ‘professional hate preachers’ is just one case in which people are being manipulated by big data to profit certain people while ruining the lives of others. Group think in Big Data is somehow fueling doxing, cyber-vigilantism, hacktivism, cyber-bullying, public shaming etc and it feels like the big corporations who build their models around our data are making these things feel culturally acceptable.

Funnily enough the reason I sat down to write this post is not the 500 words I already have on my screen, in fact it was in a completely different thing that got me here (but as a tutor used to say, “always start your posts with the last thing you thought”). I sat down to blog after reading that Brian Kelly posted on Microsoft adapting the first international privacy standard . I think this is very interesting and a piece of news worth highlighting. I am recently starting to get to grips with Microsoft development tools and services. I cut my programming teeth on Microsoft IDEs about 15 years ago, and while I kind of left Windows for the LAMP stack I have recently found the developments in the IDEs, Azure, 365, Windows 10 and Lumia tempting me back. Part of this temptation stems from the fact that the entry cost, particularly for those enrolled in a University course, is very low and yet there doesn’t feel like there is a part of the ecosystem where you have to compromise your privacy in the same way you do with Amazon or Google tools. Microsoft’s quick jump to support the privacy standard feels like it backs up my feeling, but also feels like a shot at the business models of companies offering similar products, the business models I feel are validating the way professional victomisers are working.

The post got me thinking about how things have changed in 20 years. Would we really have thought that advertising companies would be leading the tech industry all that time ago? What are the real drawbacks to them leading technological developments? Microsofts announcement may be a sign that they see the privacy battle as a place to strengthen their business model and they may be right. It got me thinking about big data and the comment that these things end in disaster. Why do we need big data? I can think of many cases where large datasets are invaluable, but these cases are not the cases that I see on consultancy sites tell me that I need big data.

Thinking about the way technology has changed in 20 years made me think about the humble webpage. Why do we store data about our users at all? Couldn’t most storage be local, or at least stored in individuals datastore owned, perhaps even a site visitor owned Azure, as Brian points out it is now covered by the privacy standard. The guys at https://unhosted.org/ seem to think that this is exactly what we should be doing as web developers, we should be storing all user data locally or in a datastore that the visitor has given us permission to use (and is owned by the visitor). The sad thing is that it took me about an hour to get my head around what they were saying because the mindset of ‘service owns the data’ is just so engrained in my mind. Reading https://unhosted.org is a great thing to do and really frames your mind around the issue, on one hand you can’t help but think that it will never fly because there is too much invested in ‘service owns the data’, but on the other hand –  posts about major players signing up for international privacy standards makes you think it could be a messy battleground.

Posted in Technology Tagged with: , ,

What are applied games?

Our department have started work on a new exciting new project called RAGE, which stands for Realising an Applied Gaming Ecosystem. When I tell anybody I’m working on this they kind of get this idea that it is a project about gaming, but they are not really sure what ‘applied gaming’ is, to be honest, before I started the project I didn’t have an idea either. Before starting the project I would have said that applied gaming was a modern word for ‘serious games’, but I have since changed my game, perhaps a game doesn’t have to be designed with serious intent to be educational, Minecraft seems to be used in many educational settings successfully.

At the kick off meeting for the project we asked 28 people (28 people working on the project)  what they thought applied gaming was and funnily enough we got 28 very different answers. We asked them what industry they worked in and to explain the term ‘allied games’ in one sentence. I haven’t really got my head around it yet, but it seems that many people also have a link between serious games and applied games in their minds. Here are the answers:

Sector

Answer

Education

Games that deliver a learning result in a pedagogical content

Real games used by many end users

Games that use leisure principles to achieve an education or black hat marketing purpose.

Games played for a specific purpose (e.g. education, training) Rather than leisure – this doesn’t mean that leisure games don’t educate or
train

A game going beyond the simple leisure

Learn with fun

Games with a design purpose other than fun for the player

To support training

Train/educate users

Games to learn in a pleasant way all kinds of skills

Games with learning as its primary purpose.

Games crediting a given domain which is subject of learning

Games for non-entertainment purposes

Applied games are games with education-first design approach but entertainment

Games for learning

Games that are useful for something

Games through which you gain knowledge and/or skills

Industry (Game)

I didn’t know those words before coming in Heerlen… Stupid, I’ve been in this business for 28 years.

Application of gaming technology or methods in areas outside pure entertainment.

Games applied to real word activities to provide an educational means

A game designed for a specific purpose beyond the game experience itself

I know games, but applied games have no sense for me.

Industry (Other)

Serious games

Games used for serious objectives and not just for leisure

Games with focused contents and methodologies aimed at specific purposes

Games for non-leisure purposes

Government / Agency

Games used in life situations, using artificial intelligence and often components’ to better societies needs.

Research Institute

Games which support achieving goals outside of the game itself

Posted in Computer Games Tagged with: , ,