Preparation time
over 2 hours
Cooking time
over 2 hours
Serves
Serves 10-12
Three puddings come together to make one very fancy dessert that's sure to impress, though you will need a day to make it.
Equipment and preparation: for this recipe you will need a sugar thermometer, a 25cm/10in flan ring (about 6cm/2½in deep) and a chef’s blow torch.
For the sorbet syrup, put the sugar, glucose and 165ml/5½fl oz water in a saucepan and bring to the boil, stirring occasionally with a wooden spoon. Boil for about 2-3 minutes. Pass the syrup through a fine sieve to remove any sugar crystals. (CAUTION: boiling sugar is extremely hot.) Set aside to cool completely.
For the blackcurrant purée, place the blackcurrants in a blender with the syrup and blend until smooth. Pass the mixture through a fine sieve into a bowl.
For the Italian meringue, place the sugar and 5 teaspoons water in a pan. Slowly heat until the syrup reaches 110C/230F on a sugar thermometer. At this stage, place the egg whites in the bowl of a freestanding mixer and whisk until firm peaks form when the whisk is removed.
As soon as the sugar reaches 121C/250F, remove the pan from the heat. Immediately resume whisking the egg whites. With the beater at its lowest speed, pour in the melted sugar, in a steady stream, making sure it is clear of the beaters. Continue beating for about 5 minutes, until the meringue is tepid.
For the blackcurrant mousse, reserve 4 tablespoons of the blackcurrant purée and set aside. Put the remaining purée in a saucepan with the powdered milk and vanilla pod. Bring to the boil.
Put the egg yolks and caster sugar in a large bowl and whisk until the mixture leaves a trail when the whisk is removed (the ribbon stage). Pour the blackcurrant mixture over the egg mixture, whisking continuously, then return the mixture to the pan. Heat gently, stirring continuously with a spatula, until the custard is thick enough to coat the spatula. Do not allow it to boil or the custard will split.
Remove the pan from the heat and stir the drained gelatine into the custard. Discard the vanilla pod, then pass the custard through a fine sieve into a bowl and leave to cool, stirring occasionally to prevent a skin forming.
For the base, place one half of the sponge flan base on a board. Mix together the syrup and a tablespoon of the reserved blackcurrant purée. Brush the mixture over the sponge. Place a 25cm/10in flan ring (about 6cm/2½in deep) onto the sponge and cut out a circle to form the base. Put the sponge base in the bottom of the flan ring and place on a flat plate or board.
When the blackcurrant custard is lukewarm, gently fold in half of the Italian meringue (you do not need the remainder for this recipe). Stir in the crème de cassis, then fold in the whipped cream. Start to assemble the dessert immediately, before the gelatine causes the mousse to set.
Fill the flan ring with the blackcurrant mousse mixture, leaving a small gap at the top, and carefully smooth the surface using a palette knife. Place in the freezer or a very cold fridge for 2-3 hours, or until the mousse is set.
For the glaze, put the syrup and the remaining blackcurrant purée in a pan and heat gently. Remove from the heat and stir in the gelatine. Leave to cool, then spread the glaze over the top of the mousse. Place into the fridge to chill while you make the doughnuts.
For the lemon posset, slowly bring the double cream and sugar to the boil in a large saucepan set over a low heat, stirring well to dissolve the sugar in the cream. Boil for 3 minutes, then remove from the heat and set aside to cool.
Once the cream mixture has cooled, whisk in the lemon juice and zest. Pour the posset mixture into a medium bowl and chill in the fridge for at least 3 hours.
For the mini doughnuts, combine the flour, salt and caster sugar in a large bowl.
Mix in the butter, 150ml/5fl oz water and yeast until the mixture comes together to form a smooth dough. Cover with cling film and set aside in a warm place for about an hour, or until doubled in size.
Divide the dough into 12 equal portions and roll each into a ball.
 Cover with a tea towel and set aside in a warm place to prove for a further 20 minutes.
When the dough has proved, preheat a deep-fat fryer to 150C. Alternatively, heat the oil in a deep, heavy-based saucepan until a breadcrumb sizzles and turns brown when dropped into it. (Caution: Hot oil can be dangerous. Do not leave unattended.)
Carefully lower the doughnuts into the hot oil in batches and deep-fry for 3-4 minutes, or until golden-brown. Remove from the pan using a slotted spoon and set aside to drain on kitchen paper.
For the sugared almonds, preheat the oven to 130C/110C Fan/Gas 1 and line a baking tray with baking parchment.
Lightly beat the egg white with a tablespoon water. Add the almonds and stir until well-coated. Mix the sugar and salt together and sprinkle over the nuts. Toss to coat, and spread evenly on the tray.
Bake for 1 hour, stirring occasionally, until golden-brown. Leave to cool.
To serve, remove the delice from the mould using a chef’s blow torch and place slices on serving plates. Garnish with the mini doughnuts and sugared almonds. Stir the posset and place a quenelle on each plate. Top with a sprig of mint.


Class LambdaSettableTranslationMap<T1, T2>
A simple TranslationMap implementation that allows you to provide lambdas for the translation functions. For a version offering only "get" functionality, see LambdaTranslationMap.
Inherited Members
Namespace: GoRogue.MapViews
Assembly: GoRogue.dll
Syntax
public sealed class LambdaSettableTranslationMap<T1, T2> : SettableTranslationMap<T1, T2>, ISettableMapView<T2>, IMapView<T2>
Type Parameters
| Name | Description |
|---|---|
| T1 | The type of your underlying data. |
| T2 | The type of the data being exposed to the algorithm. |
Remarks
If you have several views that simply expose a simple property of your underlying data, it could get tedious writing a TranslationMap for all of them. This class simplifies that task by letting you just provide the translation methods as delegates/lambdas without needing to build the rest of the infrastructure.
Constructors
| Improve this Doc View SourceLambdaSettableTranslationMap(ISettableMapView<T1>, ISettableMapView<T2>, Func<T1, T2>, Func<T2, T1>)
Constructor. Takes an existing map view to create a view from and applies view data to it.
Declaration
public LambdaSettableTranslationMap(ISettableMapView<T1> baseMap, ISettableMapView<T2> overlay, Func<T1, T2> getter, Func<T2, T1> setter)
Parameters
| Type | Name | Description |
|---|---|---|
| ISettableMapView<T1> | baseMap | Your underlying map data. |
| ISettableMapView<T2> | overlay | The view data to apply to the map. Must have identical dimensions to baseMap. |
| System.Func<T1, T2> | getter | The TranslateGet implementation. |
| System.Func<T2, T1> | setter | The TranslateSet implementation. |
LambdaSettableTranslationMap(ISettableMapView<T1>, ISettableMapView<T2>, Func<Coord, T1, T2>, Func<Coord, T2, T1>)
Constructor. Takes an existing map view to create a view from and applies view data to it.
Declaration
public LambdaSettableTranslationMap(ISettableMapView<T1> baseMap, ISettableMapView<T2> overlay, Func<Coord, T1, T2> getter, Func<Coord, T2, T1> setter)
Parameters
| Type | Name | Description |
|---|---|---|
| ISettableMapView<T1> | baseMap | Your underlying map data. |
| ISettableMapView<T2> | overlay | The view data to apply to the map. Must have identical dimensions to baseMap. |
| System.Func<Coord, T1, T2> | getter | The TranslateGet implementation. |
| System.Func<Coord, T2, T1> | setter | The TranslateSet implementation. |
LambdaSettableTranslationMap(ISettableMapView<T1>, Func<T1, T2>, Func<T2, T1>)
Constructor. Takes an existing map view to create a view from, and getter/setter functions taking only a map value.
Declaration
public LambdaSettableTranslationMap(ISettableMapView<T1> baseMap, Func<T1, T2> getter, Func<T2, T1> setter)
Parameters
| Type | Name | Description |
|---|---|---|
| ISettableMapView<T1> | baseMap | Your underlying map data. |
| System.Func<T1, T2> | getter | The TranslateGet implementation. |
| System.Func<T2, T1> | setter | The TranslateSet implementation. |
LambdaSettableTranslationMap(ISettableMapView<T1>, Func<Coord, T1, T2>, Func<Coord, T2, T1>)
Constructor. Takes an existing map view to create a view from, and getter/setter functions taking a map value and its corresponding position.
Declaration
public LambdaSettableTranslationMap(ISettableMapView<T1> baseMap, Func<Coord, T1, T2> getter, Func<Coord, T2, T1> setter)
Parameters
| Type | Name | Description |
|---|---|---|
| ISettableMapView<T1> | baseMap | Your underlying map data. |
| System.Func<Coord, T1, T2> | getter | The TranslateGet implementation. |
| System.Func<Coord, T2, T1> | setter | The TranslateSet implementation. |
Methods
| Improve this Doc View SourceTranslateGet(Coord, T1)
Translates your map data into the view type by calling the lambda getter specified in the class constructor.
Declaration
protected override T2 TranslateGet(Coord position, T1 value)
Parameters
| Type | Name | Description |
|---|---|---|
| Coord | position | Position corresponding to given data value of your map. |
| T1 | value | The data value from your map. |
Returns
| Type | Description |
|---|---|
| T2 | A value of the mapped data type (via the getter specified in the class constructor). |
Overrides
TranslateSet(Coord, T2)
Translates the view type into the appropriate form for your map data, by calling the lambda setter specified in the class constructor.
Declaration
protected override T1 TranslateSet(Coord position, T2 value)
Parameters
| Type | Name | Description |
|---|---|---|
| Coord | position | Position corresponding to the given mapped data type. |
| T2 | value | A value of the mapped data type. |
Returns
| Type | Description |
|---|---|
| T1 | The data value for your map, (via the setter specified in the class constructor). |


AngularJS is an MVC framework for developing component based Javascript Apps in the browser.
- Install nodejs
npm install -g yo bower grunt-cli gulp
npm install -g generator-angular
yo angular
npm install -g generator-jhipster
yo jhipster
Spring Boot + Angular


|
NOTE
|
This story was written as Individual Report VIII for my Computer Science thesis. |
‘Sergey, dear, how was your flight in?
‘The flight in was good, no turbulence, and clear skies. The family is doing good. I must say they tell me how they miss living here. Especially the food!’ I tried to be a little cheerful, but not too much. Did I overdo it?
‘Ah, I’m glad your family is safe. Gregory and I are very happy to see you. He would often talk about what you did together in school and how close you were,’ I could still hear the grief in her voice when she mentions him, but it’s not the the grief you would sense from a mother who just lost her son.
 It’s already been a month. Is that really enough time to come at peace with it?
‘Ah, those were the times... We were still young and all we cared about is doing that English homework. We had to read so much, I remember how much he loved the books our teacher chose for us that semester,’ and he really did.
He was the best student in our small class. There were only five– no, four of us. One guy got kicked out of school for flipping off our principal. I would always take the easy way out, read the first five pages and the last ones. The rest? ahh, I’ll fill it in from what I’ve read and ask him to give me a run down.
‘He was always so excited after coming back from school to tell us how his day went... Ah! Where are my manners? Sergey, can I bring you some tea?,’ she rushingly stood up as she was getting ready to start a marathon all the way to the kitchen couple of feet away.
‘If that’s okay, could I get some black tea?’ It would be rude of me to decline it, especially since she is en-route to start the kettle.
‘Of course, Gregory! Talk to our guest a little bit, I’ll be right back. I want to get those cookies Marta brought the other day, you know, the fig and strawberry ones,’ she said hurriedly.
‘Those do sound delicious. Thank you, Mrs. Keller!’
‘Oh, come on, Sergey, just call me Anna,’ I couldn’t recognize whether she said it seriously or jokingly. She looked a little distressed. Is this all because of me mentioning him? Is it really okay for me to be here? I don’t want to open any wounds that are already trying to heal. I don’t know, it’s been such a long ti–
‘Sergey,’ I heard a man’s voice to my left. So full of sorrow and pain, it was unmistakable. If she is trying to stay hopeful and struggling, I can’t imagine what her husband must be going through. How do I talk to him? Do I talk to him like a man to man? Probably not, too much of an age gap. Do I talk to him like his late son’s best friend? But I was not that friend.
‘Sergey, thank you. As a father, who is still grieving his first son, I want to thank you for being his friend. He always looked up to you. He was never meant to be a soldier, thanks to your support, he was able to go through it. Even if my boy never wanted to be there, he wanted to meet with his old friends. Forgive him if he became more reserved, that’s just what the army does to a young boy. Curse this war. Sergey, please go see him. He would like that.’
‘I will, Mr. Keller,’ what else could I say? Did I say enough? Was my response proper? What do you say in a situation like this?
‘Sugar or no sugar, Sergey?’ a loud voice was coming from the kitchen accompanied by a familiar whistling kettle.
‘No sugar, please! Thank you!’ I hope she heard me.
Mr. Keller shifted the topic of our conversation. He always seemed more of a stoic man from what I’ve heard about him, ‘Is work good?’
‘Work is good, there is this big project I’ve been working on for a client for the past couple of months. Looks like we are getting close to finishing it sometime soon.’
‘That’s good. Work is good. Your parents must be proud of you. Don’t forget about family! That’s important too,’ he said caringly as if he was talking to his son like a father, who really wants to see his grandkids one day.
‘Of course, thank you. I hope your work is going well,’ I said trying to sound like an adult. If I remember correctly, he worked as a lawyer in some international organization... amnesty?
‘Thank you for asking. I took a sabbatical, so I could spend more time with Anna and her side of the family–’ he was saying as he got interrupted by an approaching voice
‘I got the tea and sweet for us!’
‘It looks amazing, Mrs. Kell– Anna!’
‘Now you get the hang of it!’
The rest of my visit to their house was pretty brief, we chatted, had some tea, enjoyed delicious snacks and sweets their Marta brought over. It feels as if the atmosphere in the house changed a little. They asked me about my travels, some anecdotes and jokes were shared over the table. It feels they just wanted to see me, an old friend of their beloved son.
I thanked both of them as I was leaving. It’s getting pretty late. Better start heading home.
That was better than I expected. What did I actually expect? Wailing while we all hold each other’s hands? Probably not, I expected it to be something as exchanging grievances and collecting our memories about him.
But no, I saw how grief-stricken they were, but they just simply didn’t want to show it in front of me. Out of solidarity? Out of pride? No, they just understand that life must go on.
Did they know that we were out of touch for such a long time? I would assume so, but is it true that he still talked about our time such a long time ago? Did he not have any other friends? Should I have talked to him more?
What am I even thinking?! Don’t speak ill of the dead, Sergey.
The answers to those questions don’t matter anymore. It’s just too late to ponder about this. The living must keep on living, and the dead should be given peace. I will never be able to find answers to those questions or what he actually thought of us throughout all the years.
I know this and always will. He was a great man. He was a great friend. I missed him ever since. I still do. The time is irreversible. I hope I was a good friend to you as much as you were to me. Goodbye, Dmitri. Thank you.


Before Change
super(SequentialFeatureExtractor, self).__init__()
if not isinstance(layers, collections.OrderedDict):
layers = collections.OrderedDict(
[("{}_{}".format(layer.__class__.__name__, i), layer)
for i, layer in enumerate(layers)])
self._layers = layers
self.layer_names = layer_names
After Change
def __init__(self, layers, layer_names=None):
super(SequentialFeatureExtractor, self).__init__()
if not isinstance(layers, collections.OrderedDict):
raise ValueError("layers need to be collections.OrderedDict")
self._layers = layers
self.layer_names = layer_names


{% extends "base.html" %} {% block content %}
The two main subjects of interest are environment and mobility, each of them with its own particularities. It's important to keep track of the development of the city to better understand the actual scenario. Also, maps are useful in data interpretation because it's absolutely not clear that people are getting the same opportunities.
The most discussed subject nowadays is climate, because of that there's information collected about the average temperatures and the rain precipitation over the past centuries in Barcelona.
Some complementary information about the green areas and waste management are also included in the section city infrastructure.
Global warming has been included in all speeches lately and it's where the efforts are being concentrated. Fortunately, Barcelona has the average temperature of each month of the past couple of centuries. It's possible to see the variation over time and the spikes of high temperatures in summer over the recent years.
The rain is also a concern for climate change because of the storms that are happening all over the world. Barcelona has it's own measurements of the average rain precipitation.
This section have information about the eco-friendly spaces inside the city area, including the vegetation on streets, green spaces, and the waste management.
The cities have been redesigned to accommodate cars and other means of transportation, this helped to create heavily populated and dense areas. The biggest challenge is to keep such efficiency and be environment-friendly. The data chosen to be analyzed includes the availability of alternatives and how safe the streets are.
This section shows the bus stops around the city with the objective to see the coverage of this service around town.
The bicycles have their own chapter in modern cities. This alternative is cheap and great for the environment although it serves for medium and short distances, combined with public transportations that serve well most of the population. Even with the verticalization of city centers, the housing prices are so high that people need to move out to neighborhoods far way.
To work well, bicycles must have proper infrastructure and follow the dynamic of the city flow.
The safety is even more important than mobility efficiency. By exposing the data of the traffic incidents it's possible to compare the impact of transport implementations over time.


Simple bolasso demo
setSeed(0); n = 1000; %number of data points d = 25; %number of dimensions r = 10; %number of relevant dimensions, (first 8) ndataSets = 1; lassoSignConsistent = false; [X,y] = bolassoMakeData(n,d,r,ndataSets,lassoSignConsistent); trueSupport = 1:r; %estimate support with bolasso and the largest consistent region %heuristic,(default). estimatedSupport = bolasso(X,y) %now do the same but use cross validation instead of LCR estimatedSupport = bolasso(X,y,'modelSelectionMethod','CV','plotResults',false); %If we want both the LCR and CV results, we can get them both at once, %(more efficiently) with the following syntax: if(0) estimatedSupport = bolasso(X,y,'modelSelectionMethod','BOTH') end
estimatedSupport = 1 2 3 4 5 8 9 10


Hi, I'm Edwin Karanu Muiruri. I develop Android applications, design android User Interfaces, and front-end websites.
I have been developing Android applications for an year now. However, none of my projects have been uploaded to Google's Appstore yet.
I began my journey of Web development last year(2019). This year, I have had the opportunity to learn more about web development from Moringa School where I have had the chance to work on a number of practice projects assigned by the school.
Here is a list of some of the projects I have worked on:
- Hello-World click to view project repository
- My pet click to view project repository
- Cookie Recipe click to view project repository
- My First Webpage click to view project repository


940 Blanshard Street Victoria, British Columbia V8W 3E6 Susan Fiddler Co-op Coordinator Faculty of Engineering University of Victoria P.O. Box 1700 Victoria, B.C. V8W 2Y2 Dear Susan, Please accept the accompanying Work Term Report entitled "Determining uses of JIRA and Confluence at OFI IBM." This report is the result of work completed at the SOME GENEriC ORGANIZATION. During my first work term as a University of Victoria student, I used charts and tables to display information about issue, complied documentation for critical applications in a wiki and re- searched add-ons to extend functionality. In the course of work, I gained exposure to a technical environment, and learned how software can integrate to- gether. Through the course of the term, I was given the opportunity to learn much agile software development, testing applications, and software products. I feel that this knowl- edge will be helpful in future work terms, and in my career. I would like to thank my manager, MISTER MAN, for his patience and good judgement, as well as the RANDOM FOLK who were always willing to help. Sincerely, David Li
In the continuing effort to organize high-quality reliable information, the INSERT PREVIOUS EMPLOYEER IInfomration DIVIOSN is presently experimenting with JIRA, an issue tracking tool and Confluence, wiki software for technical documentation. Although good
quality information is critical to operations, documentation is inconsistent and scattered across multiple sources, some of which require access permissions.JIRA and
Confluence are software tools that improve productivity and organization within MOTI IMB.
Benefits from connecting JIRA and Confluence include common user management, reporting on existing JIRA issues in Confluence and switching between application quickly. Extending the functionality of these tools by installing add-ons will assist in improving documentation. Purchasing software
such as Confluence to solve the documentation problem is inadequate because software can be poorly designed or implemented. These software tools assist in information
management, but full utilization and proper implementation is required to improve documentation.
agile Iterative approach to software delivery that creates software incrementally from the beginning of the project, instead of trying to deliver it all at once near the end.
Confluence Team collaboration software which allows team members to create, share and collaborate information.
issue unit of work to accomplish an improvement in a system such as access requests and tasks.
JIRA Software development tool that is mainly used for bug tracking and project management by agile teams.
JQL Structured queries to search for issues in JIRA. It is the most flexible way to search for issues in JIRA and similar to Structured Query Language (SQL)
Kanban Kanban is a method for managing knowledge work which balances the demand for work to be done with the available capacity to start new work.
Scrum Scrum is an iterative and incremental agile software development framework for managing product development.
SharePoint A browser-based collaboration and document management platform from Microsoft.
System Documentation A collection of documents that describes the requirements,
capabilities, limitations, design, operation, and maintenance of a system, such as a communications, computing, or information processing system.
wiki a website that allows collaborative editing of its content and structure by its users.
The MOTI (MOTI) is responsible for transportation services, infrastructure and formulates transportation policies. The MOTI IMB strives
to empower the MOTI to achieve effective use of and greatest benefit from information technology management.
Atlassian, an enterprise software company, produces software tools including JIRA and Confluence for team collaboration, software development and organization. At MOTI IMB, enterprise software is used
for issue tracking, project management and organize content. Currently, information is scattered across LAN DRIVES, Microsoft SharePoint Sites and other sources that work for small groups of people. Going
forward, using enterprise software such as JIRA and Confluence is essential to manage projects and their issues throughout the software development lifecycle.
Inspecting the capabilities of JIRA and Confluence is helpful to streamlining the adoption of these versatile software products. While JIRA offers flexible issue tracking and project management, Confluence is wiki software used for technical
documentation that locates information quickly and easily. Improving and standardizing documentation for applications requires methodically examining software capabilities. Criteria include functionality, compatibility, ease of use, strategic
purpose and integration with existing software. Switching to JIRA has reduced email volume, improved customer support and simplified project management. Currently, the use Confluence restricted to selected individuals. Analysing the
potential uses of Confluence and JIRA will provide insight on how to better use these new tools.
Oftentimes, tacit information is trapped within emails, but using JIRA and Confluence together will capture this information forever. In addition, Confluence and JIRA have permissions to give flexibility to decide who can view and edit content.
Before JIRA Microsoft SharePoint, a document management system was used to store, organize, share, and access information [1]. An issue in JIRA is used to create, track and resolve reported client issues. MOTI IMB employees use JIRA on
a daily basis, so an issue could represent a software bug, a project task, a helpdesk ticket, etc. [2].
JIRA is highly customizable, organized by projects, components, versions and labels. The most flexible way to search for issues is by constructing JQL (JIRA Query Languages) filters that use issue fields, operators, values and keywords and return specified JIRA issues. JIRA has spilt into 3 different standalone products JIRA Core, JIRA software, and JIRA Service Desk. Designed for managing projects and tasks, JIRA Core keeps team organized. JIRA Software allows for Agile boards and integrates with software development tools. JIRA Service Desk is IT service desk and customer service software. JIRA incorporates time tracking, reporting features and is enhanced by installing add-ons such as ScriptRunner and Tempo Timesheets. Despite regular use of JIRA at MOTI IMB, its extensive functionality and plethora of features will confuse newcomers.
Although JIRA originated as a software tool geared towards developers, it has evolved to address the needs of the non-technical users. JIRA can track issues, display information on a dashboard and manage agile projects by using Kanban or Scrum Boards which are designed to manage software projects. JIRA permissions are setting that limit what users can see and do. JIRAs permission scheme includes editing issues, creating issues, commenting, assigning issues, etc. [3]. Generally, users are added to an JIRA project, begin searching for issues, close issue and repeat.
An issue contains multiple fields including type, priority, component, status, resolution, description assignee and reporter. It contains information indicating the urgency and current status of the issue. Some of the options available for issue status field include new, to-do, in progress, hold, and closed. Issue priorities vary from trivial to blocker. Classifying issues correctly is essential for users to document their work and reference in the future. Issues can have subtasks, be duplicated or be related to other existing issues. Watching an issue notified the user when the issue is commented, status changed, closed, or updated.
When the status of an issue is changed or closed the reporter will receive an email update. Time tracking in JIRA is accomplished by creating a work log, entering time spent, giving a reasonable remaining
estimate and description of work done. Oftentimes, issues are reassigned to assignees better suited to complete the task. Attachments can be added to the issue to better describe work that needs to be done. Previously at IMB, for each
application a Microsoft SharePoint site would be created, and issue tracking was managed by creating list items. Even though this worked for small groups, providing access to each individual SharePoint site
was cumbersome and time-consuming for everybody. A single system that contains issues for all projects benefits all users and has become essential to day-to-day operations.
Issues in JIRA can be imported or exported to and from xls files, which allows the user to reuse content from fabricated in other applications. Overall, JIRA issues can represent anything ranging from software bugs, to an access request and used for project management.
JIRA dashboards contains information boxes known as gadgets that can display dynamic data about a JIRA filter or project. Gadgets let you customize the information that appears on dashboards. Configuring dashboards allows different
kinds of information to be displayed. Most of these gadgets require JIRA filters to feed information into it. Dashboards can display filter results, issue statistics, pie charts grouped by a specified issue field such as created, assignee, status, and
priority. Add-ons for JIRA should as Zephyr (used for test management) and Tempo Timesheets (creates timesheets for JIRA issues) are packaged with dashboard gadgets containing additional information specific to that add on. An example is
the user timesheet add-on from tempo which displays a timesheet for a specific period of time.
At this time, dashboard usage is inconsistent, and undergoing further investigation. Ideally, every project and every team would have a JIRA dashboard, customized to suit their individual needs.
Also, JIRA has adaptable Kanban and Scrum boards to track issue backlogs. These boards can be displayed on a JIRA dashboard.
Creating a meaningful dashboards faces several obstacles including understanding of the JIRA specific query language, JIRA Query Language (JQL), knowledge of which dashboard gadget is suitable and a
steep learning curve.
Developing an informative JIRA dashboard entails consulting with the end users, multiple iterations and producing JIRA filters.
Dashboards are the best method to visually reporting on ongoing and completed issues in JIRA.
Agile software development is used by the PEOPLE to produce software that better suits the needs of customers. In agile, requirements and solutions develop through frequent conversations with stakeholders as software is developed through collaboration. Two kinds of agile boards are available in JIRA Agile, Kanban and Scrum. Each of these boards are designed to follow their specific agile methodology. Adding the fix version field to an issue will assign it to a particular release. All released and unreleased versions can be viewed within the project sidebar in JIRA. JIRA software provides tools specifically for any agile project management which include boards, releases and dashboard gadgets (burndown charts, velocity charts and more).
Table 1: Time log for ELEC 360 — Assignment 2
| Week of Oct 8 | Week of Oct 15 | Week of Oct 22 | Week of Nov 5 | Week of Nov 12 |
| 5 hours Prepared for ELEC 360 Lab and completed it | 2 hours working on lab report | 3 hours spent on preparing for lab | 3 hours doing the prelab and and lab experiment | 2 hours working on lab report |
| 3 hours of studying for quizzes | 3 hours studying for midterm | 2 hours studying midterm solutions | 2 hours reviewing for quizzes | 5 hours solving question for assignment 2 |
| 1 hour creating notes | 2 hours preparing for midterm | 2 hours preparing for quizzes | 3 hours solving questions of assignment 2 | 1 hour studying for quizzes |
Altogether, JIRA is well-suited for agile project management with boards, versioning and dashboard gadgets.
JIRA add-ons provide additional functionality to JIRA including increased customization and features.
Adaptavist ScriptRunner provides custom workflows, custom JQL and executes scripts that interact with JIRA. Some notable features include custom automatic emails triggered when an issue transitions into a particular state, enhanced
JIRA filters (i.e. searching for issues attachments) and adding additional fields for JIRA issues. This add-on provides a simple way to script in JIRA.
Tempo timesheets enhances time tracking and reporting features while faultlessly integrating with JIRA. It helps teams and managers track time, be efficient and used for forecasting. This add-on is useful because it allows JIRA users to
accurate track their time spent on issues, projects and make strategic decisions based on this info.
The tempo time tracker runs within JIRA and is the best way track time.
A user timesheet contains information about hours worked, planned, and required for the week. It organizes issues automatically organizes issues by project and component.
JIRA can be extremely slow at times which may be caused by running out of memory, and a large JIRA instance [4]. Extensive functionality such as time tracking, agile boards, dashboards and user timesheets are underutilised because users unaccustomed to JIRA. Additionally, a lack of tutorials or instructions are how to use JIRA compound the difficult of learning how to use JIRA.
Confluence is team-based collaboration software developed by Atlassian used at the ORGANIZATION to document projects and work in conjunction with JIRA. Confluence works by It organizes content by labels, can embed videos on pages and is highly customizable. The aim of Confluence is to become the tool for organizing, discussing, and doing work. Assigning tasks, recording meeting notes and sharing documents are some of the features of Confluence.
Confluence keeps page and file versions to track every version of documents. Despite numerous free wiki-software available on the web, Confluence has page hierarchy (page trees), transparency when creating content and clean user interface which make it suitable for documentation.
Everything in Confluence is organized in spaces, which are a collection of related pages. Pages are the documents in which the team will create, edit, and discuss work. Confluence Spaces are organized by categories (i.e., critical non-critical, documentation and software-project). Spaces can be customized to fit the need of each team. For example uses of Confluence include knowledge bases, technical documentation and organizing content [5].
In a Confluence page, content is created, collected, and accessed in one place.
Confluence pages contain text, images, videos and uses macros that add extra functionality or include dynamic content. Macros can create charts, incorporate existing Microsoft documents (Word, Excel, PowerPoint) and reuse content on Confluence pages. Existing templates in Confluence serve as an excellent starting point for users to start creating documentation for Confluence. Customizing page and space templates is an essential feature to save time and reuse content.
Attachments are useful for sharing existing content saved in a different file format.
When word documents imported into Confluence, that document’s content is copied onto one or more Confluence pages. Additionally, images and videos from the web can be embedded into a Confluence Page. Sharing links is convenient and helps users find information.
Confluence is designed for documentation, used by large organizations including NASA [6], yet documenting legacy and current projects in Confluence is not occurring at this moment. Currently, use of Confluence is limited to few internal users, so education about this software and its functionality lacking. Certain files types such as mpp (Microsoft Project) and vsd (Microsoft Visio) cannot be embedded within a Confluence Page, but can be uploaded as a file. Creating structured space templates and pages will allow content to be streamlined. Confluence functionality can be extending by downloading add-on in the Atlassian marketplace. For example, tables in Confluence are rudimentary, consisting only of ascending/descending sorting, however, a few add-ons for Confluence address this problem.
Much like how Microsoft Office Products integrate well together, JIRA and Confluence are better together. When Confluence and JIRA sites are connected JIRA issues can be created, viewed and more from within Confluence. Also, connecting JIRA with Confluence allows pie charts, created vs resolved chart and filter results etc. Essentially, existing information stored in JIRA can be reported in Confluence by the JIRA issues macro or the JIRA charts macro [7].
Another benefit from connecting JIRA to Confluence is delegated user management to JIRA, so all users can be managed in a single location. Whenever a link is created to a JIRA issue in Confluence, or link to a Confluence page from a JIRA application, the JIRA Links button appears at the top of the Confluence page. This makes it very simple to jump from JIRA straight into Confluence and vice-versa.
The tight integration between Confluence and JIRA results in related issues can be accessed directly from the Confluence page with their current status.
Adopting JIRA has benefited ME by reducing response time, improving record keeping and sharpening communication. Although JIRA has benefited the organization by improving efficiency, lack of education resulting in underutilisation of
dashboards and filters, occasional performance issues causing issue backlogs to pile up, and perceived unreliability for sending emails. Agile software development methodologies such as Scrum and Kanban are supported by the JIRA suite of
applications. JIRA has add-ons that extend functionality will complexity ranging from a single feature to full product. Interestingly, when JIRA is integrated with Confluence usage of both applications will increase because jumping between
application is quick and simple.
In order to streamline the adoption of Confluence, usage intentions must be conveyed as well as detailed guidance on how to use it. Confluence is wiki software used to create knowledge bases, centralize information into a single system and for technical documentation. Useful features of Confluence include integration with JIRA, word processing, and team collaboration. Connecting JIRA and Confluence applications allows enable users to rapidly switch between applications. Overall, JIRA and Confluence are software tools that improve productivity and organization within BTI IM.
Even though JIRA and Confluence are powerful software tools, failing to grasp the full capabilities limits what can be done. Potential uses of JIRA include issue management, project management and lengthy daily activities that require documentation. Although there are multiple issues types at this time, clear definitions for these issues and when to use them are missing. Adding a wider range of types will allow JIRA to be for a wider range of problems. Also, users are inconsistent in their use of JIRA, failing to include details, documents or work offline. Increasing understanding of how it works and guidance on when to use it needed. Creating business rules on how and when to use JIRA and Confluence will improve documentation consistency. Confluence should be configured to support day to day JIRA activities at IBF MSD. Furthermore, research into the plethora of add-ons available for JIRA and Confluence to see what functionality can be added.
[1] What is SharePoint? - Office Support. [Online] Available: https://support.office.com/en-us/article/What-is-SharePoint-97b915e6-651b-43b2-827d-fb25777f446f. Accessed December 11, 2016.
[2] What is an Issue. [Online] Available: https://confluence.atlassian.com/jira064/what-is-an-issue-720416138.html. Accessed December 11, 2016.
[3] Permissions overview. [Online] Available: https://confluence.atlassian.com/jirasoftwarecloud/permissions-overview-764478244.html. Accessed December 13, 2016.
[4] Crashes and Performance Issues Troubleshooting. [Online] Available: https://confluence.atlassian.com/jirakb/crashes-and-performance-issues-troubleshooting-203394749.html. Accessed December 15, 2016.
[5] Advanced and Special Uses of Confluence. [Online] Available: https://confluence.atlassian.com/doc/integrating-jira-and-confluence-2825.html. Accessed December 17, 2016.
[6] Confluence at NASA: Where No Wiki Has Gone Before. [Online] Available: http://summit.atlassian.com/archives/2010/presentations/collaboration-and-projects/confluence-wiki-at-nasa.jsp. Accessed December 13, 2016.
[7] Integrating JIRA and Confluence. [Online] Available: https://confluence.atlassian.com/doc/integrating-jira-and-confluence-2825.html. Accessed December 17, 2016.
* * Author: David Li * UVicID: V00818631 * Date: Oct 69, 2014 * Lecture: Assignment 7 * File name: V00818631A7P3.c * Description: Reading, writing, and encoding files */ #include#include #include #include #include #include #define INPUTFILENAME ("A7_2014_P3_TestingSherlock.txt") #define OUTPUTFILENAME ("A7_2014_P3_SherlockEncoded.txt") #define MAXSWAP (4) void processFile(FILE* ifp, FILE* ofp, int seed) { char line[25]; char word[25]; printf("Begin process file\n"); // your code goes here int rn1,rn2; int j; char tmp; while(!feof(ifp)) { fscanf(ifp,"%s",line); strcpy(word,line); if(strlen(line) > 3) { for(j=0; j