Download
$ git clone https://github.com/ucsd-cse131/00-warmup.git
$ cd 00-warmup/
Overview
This is a warm up assignment which will
- refresh your memory of functional programming from CSE 130, and
- provide a quick introduction to Haskell.
To this end, you will, reimplement certain problems from CSE 130 in Haskell. Recall that the problems require relatively little code ranging from 2 to 15 lines. If any function requires more than that, you can be sure that you need to rethink your solution.
- lib/Hw0.hs has skeleton functions with missing bodies that you will fill in,
- tests/Test.hs has some sample tests, and testing code that you will use to check your assignments before submitting.
You should only need to modify the parts of the files which say:
error "TBD: ..."
with suitable Haskell implementations.
Note: Start early, to avoid any unexpected shocks late in the day.
Assignment Testing and Evaluation
Your functions/programs must compile and run on ieng6.ucsd.edu
.
Most of the points, will be awarded automatically, by evaluating your functions against a given test suite.
Tests.hs contains a very small suite of tests which gives you a flavor of of these tests. When you run
$ stack test
Your last lines should have
All N tests passed (...)
OVERALL SCORE = ... / ...
or
K out of N tests failed
OVERALL SCORE = ... / ...
If your output does not have one of the above your code will receive a zero
If for some problem, you cannot get the code to compile, leave it as is with the error ...
with your partial solution enclosed below as a comment.
The other lines will give you a readout for each test. You are encouraged to try to understand the testing code, but you will not be graded on this.
Submission Instructions
To submit your code, just do:
$ make turnin
turnin
will provide you with a confirmation of the submission process; make sure that the size of the file indicated by turnin
matches the size of your file. See the ACS Web page on turnin for more information on the operation of the program.
Problem 1: Roots and Persistence
(a) 10 points
Fill in the implementation of
sumList :: [Int] -> Int
sumList xs = error "TBD:sumList"
that such that sumList xs
returns the sum of the integer elements of xs
. Once you have implemented the function, you should get the following behavior at the prompt:
ghci> sumList [1, 2, 3, 4]
10
ghci> sumList [1, -2, 3, 5]
7
ghci> sumList [1, 3, 5, 7, 9, 11]
36
(b) 10 points
Fill in the implementation of the function
digitsOfInt :: Int -> [Int]
digitsOfInt n = error "TBD:digitsOfInt"
such that digitsOfInt n
- returns
[]
ifn
is not positive, and otherwise - returns the list of digits of
n
in the order in which they appear inn
.
Once you have implemented the function, you should get the following:
ghci> digitsOfInt 3124
[3, 1, 2, 4]
ghci> digitsOfInt 352663
[3, 5, 2, 6, 6, 3]
(c) 10+10 points
Consider the process of taking a number, adding its digits, then adding the digits of the number derived from it, etc., until the remaining number has only one digit. The number of additions required to obtain a single digit from a number n
is called the additive persistence of n
, and the digit obtained is called the digital root of n
.
For example, the sequence obtained from the starting number 9876
is 9876
, 30
, 3
, so 9876
has an additive persistence of 2
and a digital root of 3
.
Write two functions
additivePersistence :: Int -> Int
additivePersistence n = error "TBD:additivePersistence"
digitalRoot :: Int -> Int
digitalRoot n = error "TBD:digitalRoot"
that take positive integer arguments n
and return respectively the additive persistence and the digital root of n
. Once you have implemented the functions, you should get the following behavior at the prompt:
ghci> additivePersistence 9876
2
ghci> digitalRoot 9876
3
Problem 2: Palindromes
(a) 15 points
Without using any built-in functions (e.g. reverse
), write an function:
listReverse :: [a] -> [a]
listReverse xs = error "TBD:listReverse"
such that listReverse [x1,x2,...,xn]
returns the list [xn,...,x2,x1]
i.e. the input list but with the values in reversed order. You should get the following behavior:
ghci> listReverse [1, 2, 3, 4]
[4, 3, 2, 1]
ghci> listReverse ["a", "b", "c", "d"]
["d", "c", "b", "a"]
(b) 10 points
A palindrome is a word that reads the same from left-to-right and right-to-left. Write a function
palindrome :: String -> Bool
palindrome w = error "TBD:palindrome"
such that palindrome w
returns True
if the string is a palindrome and False
otherwise. You should get the following behavior:
ghci> palindrome "malayalam"
True
ghci> palindrome "myxomatosis"
False
Problem 3: Folding Warm-Up
(a) 15 points
Fill in the skeleton given for sqsum
, which uses foldl'
(the equivalent of Ocaml’s List.fold_left
) to get a function
sqSum :: [Int] -> Int
such that sqSum [x1,...,xn]
returns the integer x1^2 + ... + xn^2
Your task is to fill in the appropriate values for
- the folding function
f
and - the base case
base
.
Once you have implemented the function, you should get the following behavior:
ghci> sqSum []
0
ghci> sqSum [1, 2, 3, 4]
30
ghci> sqSum [(-1), (-2), (-3), (-4)]
30
(b) 30 points
Fill in the skeleton given for pipe
which uses foldl'
to get a function
pipe :: [(a -> a)] -> (a -> a)
such that pipe [f1,...,fn] x
(where f1,...,fn
are functions!) should return f1(f2(...(fn x)))
.
Again, your task is to fill in the appropriate values for
- the folding function
f
and - the base case
base
.
Once you have implemented the function, you should get the following behavior:
ghci> pipe [] 3
3
ghci> pipe [(\x -> x+x), (\x -> x + 3)] 3
12
ghci> pipe [(\x -> x * 4), (\x -> x + x)] 3
24
(c) 20 points
Fill in the skeleton given for sepConcat
, which uses foldl'
to get a function
sepConcat :: String -> [String] -> String
Intuitively, the call sepConcat sep [s1,...,sn]
where
sep
is a string to be used as a separator, and[s1,...,sn]
is a list of strings
should behave as follows:
sepConcat sep []
should return the empty string""
,sepConcat sep [s]
should return just the strings
,- otherwise (if there is more than one string) the output should be the string
s1 ++ sep ++ s2 ++ ... ++ sep ++ sn
.
You should only modify the parts of the skeleton consisting of error "TBD" "
. You will need to define the function f
, and give values for base
and l
.
Once done, you should get the following behavior:
ghci> sepConcat ", " ["foo", "bar", "baz"]
"foo, bar, baz"
ghci> sepConcat "---" []
""
ghci> sepConcat "" ["a", "b", "c", "d", "e"]
"abcde"
ghci> sepConcat "X" ["hello"]
"hello"
(d) 10 points
Implement the function
stringOfList :: (a -> String) -> [a] -> String
such that stringOfList f [x1,...,xn]
should return the string "[" ++ (f x1) ++ ", " ++ ... ++ (f xn) ++ "]"
This function can be implemented on one line, without using any recursion by calling map
and sepConcat
with appropriate inputs.
You should get the following behavior:
ghci> stringOfList show [1, 2, 3, 4, 5, 6]
"[1, 2, 3, 4, 5, 6]"
ghci> stringOfList (fun x -> x) ["foo"]
"[foo]"
ghci> stringOfList (stringOfList show) [[1, 2, 3], [4, 5], [6], []]
"[[1, 2, 3], [4, 5], [6], []]"
Problem 4: Big Numbers
The Haskell type Int
only contains values up to a certain size (for reasons that will become clear as we implement our own compiler). For example,
ghci> let x =<PHONE_NUMBER>9999999999999999999999999999999999999 :: Int
<interactive>:3:9: Warning:
Literal<PHONE_NUMBER>9999999999999999999999999999999999999 is out of the Int range -9223372036854775808..9223372036854775807
You will now implement functions to manipulate arbitrarily large numbers represented as [Int]
, i.e. lists of Int
.
(a) 10 + 5 + 10 points
Write a function
clone :: a -> Int -> [a]
such that clone x n
returns a list of n
copies of the value x
. If the integer n
is 0
or negative, then clone
should return the empty list. You should get the following behavior:
ghci> clone 3 5
[3, 3, 3, 3, 3]
ghci> clone "foo" 2
["foo", "foo"]
Use clone
to write a function
padZero :: [Int] -> [Int] -> ([Int], [Int])
which takes two lists: [x1,...,xn]
[y1,...,ym]
and adds zeros in front of the shorter list to make the lists equal.
Your implementation should *not** be recursive.
You should get the following behavior:
ghci> padZero [9, 9] [1, 0, 0, 2]
([0, 0, 9, 9], [1, 0, 0, 2])
ghci> padZero [1, 0, 0, 2] [9, 9]
([1, 0, 0, 2], [0, 0, 9, 9])
Next, write a function
removeZero :: [Int] -> [Int]
that takes a list and removes a prefix of leading zeros, yielding the following behavior:
ghci> removeZero [0, 0, 0, 1, 0, 0, 2]
[1, 0, 0, 2]
ghci> removeZero [9, 9]
[9, 9]
ghci> removeZero [0, 0, 0, 0]
[]
(b) 25 points
Let us use the list [d1, d2, ..., dn]
, where each di
is between 0
and 9
, to represent the (positive) big-integer d1d2...dn
.
type BigInt = [Int]
For example, [9, 9, 9, 9, 9, 9, 9, 9, 9, 8]
represents the big-integer<PHONE_NUMBER>
. Fill out the implementation for
bigAdd :: BigInt -> BigInt -> BigInt
so that it takes two integer lists, where each integer is between 0
and 9
and returns the list corresponding to the addition of the two big-integers. Again, you have to fill in the implementation to supply the appropriate values to f
, base
, args
. You should get the following behavior:
ghci> bigAdd [9, 9] [1, 0, 0, 2]
[1, 1, 0, 1]
ghci> bigAdd [9, 9, 9, 9] [9, 9, 9]
[1, 0, 9, 9, 8]
(c) 15 + 20 points
Next you will write functions to multiply two big integers. First write a function
mulByDigit :: Int -> BigInt -> BigInt
which takes an integer digit and a big integer, and returns the big integer list which is the result of multiplying the big integer with the digit. You should get the following behavior:
ghci> mulByDigit 9 [9,9,9,9]
[8,9,9,9,1]
Now, using mulByDigit
, fill in the implementation of
bigMul :: BigInt -> BigInt -> BigInt
Again, you have to fill in implementations for f
, base
, args
only. Once you are done, you should get the following behavior at the prompt:
ghci> bigMul [9,9,9,9] [9,9,9,9]
[9,9,9,8,0,0,0,1]
ghci> bigMul [9,9,9,9,9] [9,9,9,9,9]
[9,9,9,9,8,0,0,0,0,1]


Toggle navigation
Sembabule
About
Services
Contact
Sembabule Template
Complete with pre-defined file paths that you won't have to change!
One
Two
Four
Tree


White to play 52
pips White=157 Black=100
(CorrectAnswer= 0/0, ErrorScore= 0)
1. Bar/23 8/3 eq: -0.340 32.96% (G: 4.55% B:0.11%) 67.04% (G:15.86% B:0.51%) 2. Bar/20 6/4 eq: -0.366 (-0.026) 33.45% (G: 4.48% B:0.12%) 66.55% (G:19.53% B:0.59%) 3. Bar/20 8/6 eq: -0.369 (-0.029) 33.20% (G: 4.61% B:0.12%) 66.80% (G:19.34% B:0.59%) 4. Bar/20 13/11 eq: -0.458 (-0.118) 32.56% (G: 4.37% B:0.19%) 67.44% (G:26.03% B:1.03%) 5. Bar/23 13/8 eq: -0.478 (-0.139) 29.24% (G: 3.35% B:0.16%) 70.76% (G:19.50% B:0.64%)


Travelling: I like visiting new places, especially countryside Computer Gaming: Strategy and Shooter Reading Story books: favorite author Michael Crichton Sports: I like Basketball, Table Tennis and also swimming.


Math Rush
Translate Page
Ideas for Progress
This page gives suggestions on what to do next to progress in the field of mathematics.
Magic Squares
Magic squares are squares filled with numbers in which the sum of any row, column, or diagonal is the same.


When I'm not writing code,
I'm writing on my blog.
Thank you for reading! Stay tuned for new awesome posts!
Follow me on Twitter.


NEITHER OUT FAR NOR IN DEEP
Robert Frost
The people along the sand
All turn and look one way.
They turn their back on the land.
They look at the sea all day.
As long as it takes to pass
A ship keeps raising its hull;
The wetter ground like glass
Reflects a standing gull
The land may vary more;
But wherever the truth may be--
The water comes ashore,
And the people look at the sea.
They cannot look out far.
They cannot look in deep.
But when was that ever a bar
To any watch they keep?


--- layout: post title: '"Demon Dogs!!" - Thundarr the Barbarian' categories: [] tags: - media - social status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
Thundarr the Barbarian is a Saturday morning animated television series, created by Joe Ruby and produced by Ruby-Spears Productions. It lasted 2 seasons, 1980-81 and 1981-1982. Action figures of the three main characters were released by Toynami in 2004.
Who remembers Thundarr? Every time my friends mention obscure cartoons from the past, my mind jumps to Thundarr!


Lejing Huang
CIS2336-1
Hey everyone! My name is Lejing Huang. I am a sophomore international student and majoring in Computer Information Systems. After two years of study, I gradually found the direction I want to pursue in the future. I want to be a database administrator or programmer. Living in the information age, we can see that the information management is crucial. Therefore, I believe the prospect of CIS major is incalculable.
I currently work at CASA math center as a tutor, and I have a lot of fun there because helping people with the trouble of solving math problems is meaningful.
I like listening to music during my free time, especially K-pop music, and I think this is an exciting way to learn a new language. BLΛƆKPIИK is my favorite K-pop girl group. They debuted on August 8, 2016. I see a lot of good qualities in these four girls, and they have always inspired me to be a better person.
Rosé Park
Jisoo Kim
Jennie Kim
Lalisa Manoban
BLΛƆKPIИK
Let's start with my long-term goals. My first goal is not only to get the major of CIS but also to get the minor in computer science. After I took COSC1306, which is also a required class in CIS, I found that I was interested in learning programming. I believe this interest is enough to offset the boredom of programming itself and make me more motivated to study in this major.
My second goal is to graduate in four years. If I can take one or two courses during the summer vacation, I believe that I can graduate on time. My third goal comes from life. I hope I can keep exercising and become healthier.
I also have a small goal for this class. I hope that by the end of this course, I can also be proficient in using HTML and other languages to write web pages with a sense of design and creativity.
BLΛƆKPIИK - Don't Know What To Do


Data Fields
Field Documentation
Closes the MediaStream audio track and disconnects it from the audio source.
After calling Close()
, no new buffers will be received.
- Parameters:
-
| [in] | audio_track | A PP_Resource corresponding to a MediaStream audio track resource. |
Configures underlying buffers for incoming audio samples.
If the application doesn't want to drop samples, then the PP_MEDIASTREAMAUDIOTRACK_ATTRIB_BUFFERS
should be chosen such that inter-buffer processing time variability won't overrun all the input buffers. If all buffers are filled, then samples will be dropped. The application can detect this by examining the timestamp on returned buffers. If Configure()
is not called, default settings will be used. Calls to Configure while the plugin holds buffers will fail. Example usage from plugin code:
- Parameters:
-
| [in] | audio_track | A PP_Resource corresponding to an audio resource. |
| [in] | attrib_list | A list of attribute name-value pairs in which each attribute is immediately followed by the corresponding desired value. The list is terminated by PP_MEDIASTREAMAUDIOTRACK_ATTRIB_NONE . |
| [in] | callback | A PP_CompletionCallback to be called upon completion of Configure() . |
- Returns:
- An int32_t containing a result code from
pp_errors.h
.
Gets attribute value for a given attribute name.
- Parameters:
-
| [in] | audio_track | A PP_Resource corresponding to an audio resource. |
| [in] | attrib | A PP_MediaStreamAudioTrack_Attrib for querying. |
| [out] | value | A int32_t for storing the attribute value on success. Otherwise, the value will not be changed. |
- Returns:
- An int32_t containing a result code from
pp_errors.h
.
Gets the next audio buffer from the MediaStream track.
If internal processing is slower than the incoming buffer rate, new buffers will be dropped from the incoming stream. Once all buffers are full, audio samples will be dropped until RecycleBuffer()
is called to free a slot for another buffer. If there are no audio data in the input buffer, PP_OK_COMPLETIONPENDING
will be returned immediately and the callback
will be called, when a new buffer of audio samples is received or an error happens.
- Parameters:
-
| [in] | audio_track | A PP_Resource corresponding to an audio resource. |
| [out] | buffer | A PP_Resource corresponding to an AudioBuffer resource. |
| [in] | callback | A PP_CompletionCallback to be called upon completion of GetBuffer(). |
- Returns:
- An int32_t containing a result code from
pp_errors.h
.
Returns the track ID of the underlying MediaStream audio track.
- Parameters:
-
| [in] | audio_track | The PP_Resource to check. |
- Returns:
- A
PP_Var
containing the MediaStream track ID as a string.
Checks whether the underlying MediaStream track has ended.
Calls to GetBuffer while the track has ended are safe to make and will complete, but will fail.
- Parameters:
-
| [in] | audio_track | The PP_Resource to check. |
- Returns:
- A
PP_Bool
with PP_TRUE
if the given MediaStream track has ended or PP_FALSE
otherwise.
Determines if a resource is a MediaStream audio track resource.
- Parameters:
-
| [in] | resource | The PP_Resource to test. |
- Returns:
- A
PP_Bool
with PP_TRUE
if the given resource is a Mediastream audio track resource or PP_FALSE
otherwise.
Recycles a buffer returned by GetBuffer()
, so the track can reuse the buffer.
And the buffer will become invalid. The caller should release all references it holds to buffer
and not use it anymore.
- Parameters:
-
| [in] | audio_track | A PP_Resource corresponding to an audio resource. |
| [in] | buffer | A PP_Resource corresponding to an AudioBuffer resource returned by GetBuffer() . |
- Returns:
- An int32_t containing a result code from
pp_errors.h
.
The documentation for this struct was generated from the following file:


Toggle navigation
M00C Tracker
Student Login
Admin Login
MOOC Tracker is an
opensource
app built at
Jaaga
.


{% include asides/feedburner.html %} {% include asides/recent_posts.html %} {% include asides/about.html %} {% include asides/legal.html %}


Recommended Stocks
NVIDIA
NVDA
Current Price: 245.29
Volatility95.49 - 251.97
Strength: 2.3
Risk: Medium
APPLE
AAPL
Current Price: 197.98
Volatility138.62 - 180.62
Strength: 2.1
Risk: Low
ATT
T
Current Price: 37.05
Volatility32.55 - 42.70
Strength: 2.5
Risk: Low
GOPRO
GPRO
Current Price: 5.51
Volatility5.04 - 11.89
Strength: 3.7
Risk: High
FITBIT
FIT
Current Price: 5.19
Volatility4.67 - 7.32
Strength: 3.0
Risk: High
Ford
F
Current Price: 10.73
Volatility10.14 - 13.48
Strength: 3.0
Risk: Medium


Usage
The recognition is done through the handwritten digit recogniser which takes a canvas as an input and returns a corresponding latex code. You can download the recognition module from the NPM and import it into your application. It is embeddable in any browser and web view.
Implementation
The codebase consists of Python and TensorFlow scripts producing trained models used by the recognizers implemented in TypeScript to recognise a digit or an expression handwritten on an HTML canvas. Optionally, the package provides a functionality for a user to handwrite mathematics on an HTML canvas.
Future Work and Contribution
The future development includes extending the number of symbols that are recognisable by the system to alphanumeric and other mathematical symbols as well as further improvements in the accuracy of symbol and relation identification. If you are interested in contributing then check out the project repo.


Shoot'em'ups meet Jackson Pollock in this Javascript based game. I worked as the Associate Producer where I was responsible for organizing team meetings, creating dynamic schedules, and pitching the game to our industry guests. At the end of the semester, I was hired to MAGIC Spell Studios to work on polishing and work on integrating Facebook's API, so that the use could share their paintings with their friends. Splattershmup is currently available for both PC and Mac and can also be played in-browser. It has been released in beta by MAGIC Spell Studios and is available from the Windows Store. Splattershmup was shown at GDC 2015 by MAGIC Spell Studios, selected to appear in the Indie Games 2015 Exhibit in the Smithsonian Art History Museum, and selected for the The Blank Arcade @ Digra 2015 in Germany.
Mass Magic is a two player board game, where you duel your friends using magical gravity spells. I worked as a general programmer and as the build master for this quick five week project. I was responsible for delivering updated builds with patch notes to the QA team, and creating a detailed and flexible build strategy. We ported this Unity game onto the iPad.
 RIT has the second largest game in the world, peeking at 900 members in the Fall of 2014. I was responsible for managing the team of moderators, handling external meetings with campus officials, and creating and balancing missions throughout the week. I managed and recruited a team of 30 volunteers to help run this massive week long game. I oversaw the training of these volunteers, and made sure every student participating had a safe (and fun!) time.


User settings
You can change your : (name,lastname,email,password,image)
You can't change your : (age,gender,account type)
If you want change your password fill old password and new password
If you don't want change your password fill old password for secure update


Simply enter the number of pizzas you want into the input below to find out the cost of your order
Enter number of pizzas wanted:


Toggle navigation
Home
All
Demo
Contact
Bootstrap Sample Page with Form
Heads up!
This bootstrap page example is from Mike Dalisay of
codeofaninja.com
!
Name
Contact Number
Address
List
List One
List Two
List Three
Create New Record


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Posting Comments
In order to post comments to stories, you will have to
create an account.
Accounts will generally be validated within 24 hours, and of
course will be disabled if there is abuse.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.

He makes them pay $5 for every meal, even when the meal costs $3.99. He yells
at them if they try to hand him money. "Put it in the register," he says. If a
rookie follows a veteran's advice and asks for the No. 6 Special, Eddie
says, "You must be a (bad word) rookie. There is no (bad word) No. 6, you
(really bad word)." Have a nice day, officer."
|
|
Read article...
|
|
Lobsters murdered, cops can't find bodies
AZ Central | Submitted by: wingnut
Running the old shell game:
"Justice officials believe inmates at Rockwood Institution have been
gorging on lobster in recent weeks, thanks to an inmate who has opened
up a crustacean pipeline into the minimum security jail. No items have
been seized. Prison staff say they believe the evidence has been
consumed by inmates in their cabins at the jail."
|
|
Read article...
|
|
Workers' wobble yellow crime
Mirror | Submitted by: Drone pilot
"Line painters took evasive action when they came across this traffic cone
in their path. Rather than pick it up they decided to steer round it. And the
breath-taking laziness of the botch job even drew crowds... 'Everyone thought
the workmen must have had a large liquid lunch.'"
|
|
Read article...
|
|
Top polluters hijack eco-summit
Observer | Submitted by: Ann Onymous
Foxes guard chicken coop (no surprise):
"Tony Blair's delegation to this month's Earth Summit in Johannesburg
includes senior company bosses whose firms have repeatedly been accused of
polluting the environment. The news triggered uproar from green groups
last night amid renewed concern that the summit was being hijacked by
big business."
|
|
Read article...
|
|
The inside poop on colon therapy
Metro | Submitted by: meatload
"The colonic is a procedure designed to remove toxins from the colon by
flushing it with water. Enthusiasts cite a feeling of well-being, and
freedom from fatigue, headaches and depression.
But of course this wasn't sex. It was a plastic speculum about an inch in
diameter, and it was going up my ass."
|
|
Read article...
|
|
Killjoys use Columbine to crack down on pranking
Dayton Daily News | Submitted by: Idle Hands
"'I don't think it's fair to ask teachers and principals to be more attentive
to discipline and then have them overlook things because they happened to be
done by seniors at the end of the year,' DePalma said. 'We've got an obligation
to provide a safe and orderly environment for students. For the sake of
consistency, I don't think we can pick and choose which rules we enforce and
which we don't. If that means the "harmless prank" becomes a thing of the past,
then so be it.'"
|
|
Read article...
|
|
|
|
|


| Date | Name | Description | Duration |
|---|---|---|---|
| 29/04/2002 13:19:07 | prototype script execution code | added tab delimited report definition file to \scriptDefns Type | appliesTo | Display Name | Script File Name | Procedure | Language added reports to \scripts added generic prototype script execution code  |
2  |
| 30/04/2002 15:19:15 | implement default file extension to export entity | default extention is .txt  | 0.5  |
| 01/05/2002 09:33:11 | changed grids on testmodelproperties to listview | changed grid on testmodelproperties to listview  | 1  |
| 26/04/2002 15:12:41 | added prototype script execution code | added prototype script execution code - this will be used to add the reports to the system rather than creating a template system, just use vbscript: *find a way of using any script language* *easy for text stuff, need to work out a mechanism for graphs* *and path displays*  |
2  |
| 30/04/2002 10:20:03 | entity defn to use a listview instead of a grid | change entity defn to use a listview instead of a grid  | 1  |
| 01/05/2002 11:00:42 | changed frmPathEdit to use list views | changed frmPathEdit to use list views   | 1.51  |
| 29/04/2002 10:17:03 | removed prototype and unfinished code | removed code which was only at prototype stage and had not been maintained or finished: * remove save to file, load from file, * removed frmSaveModel * removed export to visio * removed set addflow from dot * removed frmDeconGraph until the functionality is reinstated  |
2  |
| 29/04/2002 12:18:25 | internal weighting date functionality changed | changed internal weighting date functionality to use system date formats  | 1  |
| 30/04/2002 18:46:11 | change load entity defn from database | used the open model from database form removed the frmLoadEntityFromDatabase form it took longer than I expected because there was stupid code in getWeightings that had to be debugged and rewritten.  |
3  |
| 01/05/2002 10:30:11 | removed unused frmUndisplayedNodes | removed unused frmUndisplayedNodes from the project  | 0.5  |
| 30/04/2002 15:29:12 | expand the entity type export entity | expand the entity type export entity to include the type and set details  | 2  |
| 01/05/2002 12:09:45 | fixed defect 156 | fixed a defect (156) with path display templates where only weightings were searched for values so {name} as not recognised, this was a direct result of my changing the getWeighting code  | 1  |
| 01/05/2002 13:12:03 | API changes | documenting the APi has made me realise that I need to create a function called model.returnObjectForID added hierarchy to the returnObjectGivenGUID list (untested) allowed entityDefn to getInstances it all shows how inconsistent my object model is! :[  |
1  |
| 01/05/2002 15:13:52 | added an "Entity List Report" | added an "Entity List Report"  | 1  |
| 01/05/2002 16:14:58 | added a library list to the report definition | added a library list to the report definition - these should be saved in the scripts folder - allows common routines to be used by the scripts this is a tab separated list of libraries  |
1  |
| 02/05/2002 08:00:07 | API Changes | added a detailed entity report added mechanism to report on Individual instances from the tree browser added a const file to the scripts added mechanism to report on all other entities from the treebrowser Node, Link, Graph, Path, Hierarchy, Model *Node, *Link, *Graph, *Path, *Hierarchy Entity, Entity.entityName Instance, Instance.entityName added a "refresh reports" menu item to main menu list - will refresh the report definitions added getWeightingValue to node, link and graph wrote the node reports wrote the link reports  |
8  |
| 03/05/2002 09:00:00 | API Changes | added the freeImage dll and am now generating jpgs (1) allowed macros to use it too (need to add a maxWidth, maxHeight value) (2) wrote the graph reports (2) *need flexible dot control, and output wrote path reports (1) fixed defect - edit button on tree browser did not open hierarchy (0.5) changed genericHierarchyNode slightly to allow us to traverse a hierarchy from a node's point of view (1) - all functions were previously on the hierarchy - genericHierarchyNode.parent .children .nextSibling .elderSibling .hierarchy .eldestChild .youngestChild added a HierarchyNode reporting entity also *HieararchyNode -will only be used in generic hierarchy browser -HierarchyNode.Entity Name will only work for hierarchy nodes which represent entity name but will pass the hierarchy node   |
8  |
| 07/05/2002 09:20:26 | API Changes | added the generic hierarchy report (1) removed the nodes and links word processor for the moment (0.5) removed the wsless controls as only the buttons were being used (2) added a report button to the hierarchy browser (0.5) added a version tracking report (1.5)  |
5.5  |
| 08/05/2002 09:00:00 | API Changes | added report button to edit screens: graph (graph edit), model (model properties), generic edit (2) added pop up menu to generic hierarchy screen (0.5) expanded export graph as options (jpg) etc (1) fixed defect where edit properties on path edit created a new edit path screen each time - didn't check for existing path form (0.5) changed autodot check box into a graphical check button (0.5) removed visio export form from project (0.5) added acknowledgements list to the about box (0.5)  |
5.5  |
| ID | Name | Raised Date | Closed Date | Description | Resolution |
|---|---|---|---|---|---|
| 144 | numeric weightings are shown as dates in the list | 30/04/2002 11:16:02 | 30/04/2002 16:35:00 | numeric weightings are shown as dates in the list  |   |
| 156 | defect with path display templates not parsed correctly | 01/05/2002 12:00:24 | 01/05/2002 12:30:24 | fixed a defect with path display templates where only weightings were searched for values so {name} as not recognised, this was a direct result of my changing the getWeighting code  |   |
| ID | Name | Raised Date | Status | Criticality | Description |
|---|---|---|---|---|---|
| 49 | popup menus use mouse co-ords | 19/04/2002 14:31:35 | OPEN | LOW | this isn't particularly good when we are using the insert keys   |
| 62 | icons on buttons are not transparent | 17/04/2002 | OPEN | LOW | need to turn the .ico into .bmp and setup the mask property  |
| 114 | creating a new item in the generic grid causes flashing | 23/04/2002 17:09:05 | OPEN | LOW | the window should be locked when updating the grid  |
| 133 | The hierarchy browser tree refreshes too much on drag | 25/04/2002 17:54:37 | OPEN | LOW | this can be disconcerting when dragging, perhaps the timer is not long enough?  |
| 134 | the hierarchy browser hierarchy should maintain expansion | 25/04/2002 17:55:54 | OPEN | LOW | during restructuring, the hierarchy should leave expanded the items which are expanded  |
| 135 | drag to hierarchy causes parent rename | 25/04/2002 18:01:44 | OPEN | LOW | dragging an unrepresented requirement into the generic hierarchy causes the parent's parent to be renamed to that of the parent: i.e requirement cross ref cross ref cross ref newly allocated item  |
| 142 | Entity List does not refresh on update or create | 30/04/2002 11:10:31 | OPEN | MEDIUM | When pressing "Apply" on an entity definition list, the list is not updated  |
| ID | Name | Raised Date | Status | Raised By | Description |
|---|---|---|---|---|---|
| 137 | add a default file type to the export entity dialog | 30/04/2002 08:31:05 | IMPLEMENTED | Alan Richardson | the export entity dialog does not have any file filters, .txt should be added as a file filter, as should *.*  |
| 138 | add entity types to entity export | 30/04/2002 08:34:17 | IMPLEMENTED | Alan Richardson | at the moment the entity export looks like this #Defect #Raised Date #Status #Criticality #Severity #Closed Date #Resolution Details because it hasn't been updated to include the entity types (this was in the days when all types were string) now we have to output the type too. make it tab delimited as follows #Defect #Raised Date Date #Status Set tab delimited set of values #Criticality Set {} #Severity Set {} #Closed Date Date #Resolution Details String when exporting, replace any tabs in the set or default values to be \t and if there are any \t's in the text already then make them \\t so replace \t with \\t replace tab with \t  |
| 139 | change load entity defn from database | 30/04/2002 08:49:15 | IMPLEMENTED | Alan Richardson | need to change load entity defn from database mechanism and interface uses a grid, looks ugly and I'm not sure it even works anymore. It should prompt for the database file, prompt for the model, then prompt for the entity.  |
| 20 | export hierarchy as a report on its own | 01/04/2002 | IMPLEMENTED | Alan Richardson | could use the basic report functionality - just allow it to start and stop in one place  |
| 22 | export addlow at the correct size - do not scale up | 01/04/2002 | IMPLEMENTED | Alan Richardson |   |
| 23 | export addlfow at different sizes | 01/04/2002 | IMPLEMENTED | Alan Richardson | primarily for sitemap generation  |
| 39 | export as client side image maps | 01/04/2002 | IMPLEMENTED | Alan Richardson | export the graphs as client side image maps  |
| 46 | pop up menu | 01/04/2002 | IMPLEMENTED | Alan Richardson | on generic hierarchy  |
| 74 | entity summary reports | 23/04/2002 13:48:58 | IMPLEMENTED | Alan Richardson | there should be a facility for user defined summary reports for entities i.e. #status.CLOSED, #status.OPEN etc  |


--- title: fastwebhook keywords: fastai sidebar: home_sidebar summary: "A simple GitHub webhook server." description: "A simple GitHub webhook server." nb_path: "index.ipynb" ---
At this stage, this is only able to send tweets on software releases. It's very early stage still. You'll need to set up a webhook on GitHub.
First install the package:
pip install fastwebhook
Then create an file called twitter.ini
containing:
gh_secret:
consumer_key:
consumer_secret:
access_token:
access_token_secret:
gh_secret
is the webhook secret you set in GitHub. The remaining are your twitter API keys.
Run fastwebhook
to run the web server. Pass --help
for info about optional arguments. Either run this from the same directory that contains your twitter.ini
, or else pass --inifile
along with the full path to your ini file.
The following commands should all be run as root (i.e. prepend sudo
to the commands).
To install it as a systemd service (which is probably what you want), run fastwebhook_install
. Pass --help
for info about optional arguments, which will be passed to fastwebhook
by the service.
After the service is installed, run systemctl start fastwebhook
to start it, systemctl status fastwebhook
to check it, and systemctl stop fastwebhook
to stop it. Run systemctl enable fastwebhook
to have it start automatically on boot. Run journalctl -eu fastwebhook


org.jclouds.jenkins.v1.domain
Classes
Computer
Computer.Builder
ComputerView
ComputerView.Builder
Job
Job.Builder
JobDetails
JobDetails.Builder
LastBuild
LastBuild.Builder
Node
Node.Builder


One Shot Software Project: Toward source code transformation and architecture configuration randomization for moving target defense
A framework for source to source code transformation, architecture configuration randomization and software deployment to simplify the one shot software management.
Want to contribute to this project? fork me on github!
whoa, an open-source project
whatis
OneShotSoftware framework
This framework proposes the foundation for creating a moving target defense architecture for distributed software. This framework enables distributed to change their behavior, the component interaction, the graphical interface and their architecture configurations dynamically while preserving the requirements and integrity of services. The main goal of the oneshotsoftware framework is to hinder the adversary’s capabilities in scanning or discovering software vulnerabilities targets, launching attacks and creating botnets structure.
OneShotSoftware architecture
The framework architecture is based on the following basis:
- Kevoree for the architectural model and deployment management.
- Spoon for the source to source transformation engine.
Based on these two foundations, we are building a set of model for capturing components interaction, components interface, components graphical interface and we are building a set of libraries to create disruption,processor to automatically inject countermeasures withing the component source code. Next we use Kevoree and Docker to automatically deploy the components variant for each new user.
Why
Basically


metrics package¶
Submodules¶
metrics.visualization_utils module¶
Helper to visualize metrics.
-
metrics.visualization_utils.
get_longest_flops_path
(sys_metrics)[source]¶ Prints the largest amount of flops required to complete training.
- To calculate this metric, we:
- For each round, pick the client that required the largest amount
- of local training.
- Sum the FLOPS from the clients picked in step 1 across rounds.
TODO: This metric would make more sense with seconds instead of FLOPS.
Parameters: sys_metrics – pd.DataFrame as written by writer.py.
-
metrics.visualization_utils.
load_data
(stat_metrics_file='stat_metrics.csv', sys_metrics_file='sys_metrics.csv')[source]¶ Loads the data from the given stat_metric and sys_metric files.
-
metrics.visualization_utils.
plot_accuracy_vs_round_number
(stat_metrics, weighted=False, plot_stds=False, figsize=(10, 8), title_fontsize=16, **kwargs)[source]¶ Plots the clients’ average test accuracy vs. the round number.
Parameters: - stat_metrics – pd.DataFrame as written by writer.py.
- weighted – Whether the average across clients should be weighted by number of test samples.
- plot_stds – Whether to plot error bars corresponding to the std between users.
- figsize – Size of the plot as specified by plt.figure().
- title_fontsize – Font size for the plot’s title.
- kwargs – Arguments to be passed to _set_plot_properties.
-
metrics.visualization_utils.
plot_accuracy_vs_round_number_per_client
(stat_metrics, sys_metrics, max_num_clients, figsize=(15, 12), title_fontsize=16, max_name_len=10, **kwargs)[source]¶ Plots the clients’ test accuracy vs. the round number.
Parameters: - stat_metrics – pd.DataFrame as written by writer.py.
- sys_metrics – pd.DataFrame as written by writer.py. Allows us to know which client actually performed training in each round. If None, then no indication is given of when was each client trained.
- max_num_clients – Maximum number of clients to plot.
- figsize – Size of the plot as specified by plt.figure().
- title_fontsize – Font size for the plot’s title.
- max_name_len – Maximum length for a client’s id.
- kwargs – Arguments to be passed to _set_plot_properties.
-
metrics.visualization_utils.
plot_bytes_written_and_read
(sys_metrics, rolling_window=10, figsize=(10, 8), title_fontsize=16, **kwargs)[source]¶ Plots the cumulative sum of the bytes written and read by the server.
Parameters: - sys_metrics – pd.DataFrame as written by writer.py.
- rolling_window – Number of previous rounds to consider in the cumulative sum.
- figsize – Size of the plot as specified by plt.figure().
- title_fontsize – Font size for the plot’s title.
- kwargs – Arguments to be passed to _set_plot_properties.
-
metrics.visualization_utils.
plot_client_computations_vs_round_number
(sys_metrics, aggregate_window=20, max_num_clients=20, figsize=(25, 15), title_fontsize=16, max_name_len=10, range_rounds=None)[source]¶ Plots the clients’ local computations against round number.
Parameters: - sys_metrics – pd.DataFrame as written by writer.py.
- aggregate_window – Number of rounds that are aggregated. e.g. If set to 20, then rounds 0-19, 20-39, etc. will be added together.
- max_num_clients – Maximum number of clients to plot.
- figsize – Size of the plot as specified by plt.figure().
- title_fontsize – Font size for the plot’s title.
- max_name_len – Maximum length for a client’s id.
- range_rounds – Tuple representing the range of rounds to be plotted. The rounds are subsampled before aggregation. If None, all rounds are considered.
metrics.writer module¶
Writes the given metrics in a csv.
-
metrics.writer.
get_metrics_names
(metrics)[source]¶ Gets the names of the metrics.
Parameters: metrics – Dict keyed by client id. Each element is a dict of metrics for that client in the specified round. The dicts for all clients are expected to have the same set of keys.
-
metrics.writer.
print_dataframe
(df, path, mode='w')[source]¶ Writes the given dataframe in path as a csv
-
metrics.writer.
print_metrics
(round_number, client_ids, metrics, hierarchies, num_samples, path)[source]¶ Prints or appends the given metrics in a csv.
- The resulting dataframe is of the form:
- client_id, round_number, hierarchy, num_samples, metric1, metric2 twebbstack, 0, , 18, 0.5, 0.89
Parameters: - round_number – Number of the round the metrics correspond to. If 0, then the file in path is overwritten. If not 0, we append to that file.
- client_ids – Ids of the clients. Not all ids must be in the following dicts.
- metrics – Dict keyed by client id. Each element is a dict of metrics for that client in the specified round. The dicts for all clients are expected to have the same set of keys.
- hierarchies – Dict keyed by client id. Each element is a list of hierarchies to which the client belongs.
- num_samples – Dict keyed by client id. Each element is the number of test samples for the client.


Iranian Hulk Signs Up To Bare-Knuckle Boxing Championship And Is Looking For An Opponent
by Cameron FrewThe Iranian Hulk has joined the Bare-Knuckle Boxing Championship – but he’s still searching for his first opponent.
Sajad Gharibi has long circulated the web, earning his superhero title for his outrageous, near inhuman physique.
The 27-year-old is also known as the Persian Hercules. With that in mind, do you reckon you could take him in a fight?
At 390lb and 6ft 2in, he’s an absolute monster of a man, weighing roughly the same as a killer whale calf.
Gharibi is the latest signing by the American fighting organisation, and is expected to make his debut in the ring sometime in 2020.
The Iranian Hulk previously said in 2016 that he’d join military forces to help fight the so-called Islamic State.
However, in January, he announced his interest in MMA fighting and used Instagram – where he has nearly 45,000 followers – to invite people to get in the ring with him.
He wrote:
Be brave and invite me to fight, rather than hiding behind your sponsors. I am ready to fight you, show me what you’ve got to say in the ring.
It took a while, but in May, someone finally stepped up. Gharibi wrote: ‘So I’m finally accepting my first professional fight from a Brazilian fighter before 2020.’
However, the hype for the fight was over too quickly; he was widely speculated to be fighting 29-year-old Romario dos Santos Alves, also known as the Brazilian Hulk.
The pair have a bit of a history: in March this year, he threatened to ‘tear off’ Gharibi’s head in an online video. However, he only weighs 229lb, so it’s not exactly the fairest match-up.
In July this year, Gharibi wrote on Instagram his Brazilian counterpart refused to fight him in the cage.
Let’s hope the Iranian Hulk finds his Abomination soon.
After graduating from Glasgow Caledonian University with an NCTJ and BCTJ-accredited Multimedia Journalism degree, Cameron ventured into the world of print journalism at The National, while also working as a freelance film journalist on the side, becoming an accredited Rotten Tomatoes critic in the process. He’s now left his Scottish homelands and took up residence at UNILAD as a journalist.


About me
Education
- 2:1 Degree in BA(Hons) Retail Management at Bournemouth University
- 1:1 Degree in MA(Hons) Cybersecurity at Harvard University
- 1:1 Degree in MA(Hons) Nuclear Physics at Cambridge University
Work experience
- Software Test Engineer
- Student Ambassador
- Accounts Assistant
- Superhero
- Astronaut
- Nuclear physicist
Ten10
- Finished 1st in the Ten10 Graduate Academy
-
Placed at Capgemini
because of being too awesome...
- Manufactured a 2-person rocket
- First person to hire more people than the founder
- Brought more than $5tn profit in the first 3 weeks of being hired
Side projects
- Created the first hybrid rocket
- Won every discipline in the Olympics twice per year


|
|
Model description
An assumption underlying ordinary regression is that all observations have the same variance.
This assumption does not always hold, as for the data shown in the figure below (upper panel).
It is clear that the variance increases to the right. It is also clear that the mean of y is not a linear function of x.
Penalized splines can be used to model the mean and variance of y nonparametrically. In order to ensure that the variance is
positive, we model the log-variance by a spline function, rather than the variance itself.
A more detailed discussion of the model and the estimation approach can be found
here: lidar.pdf
The LIDAR data shown in the figure below are taken from the book Ruppert et al. (2003).
The file lidar.s shows how to create design matrices for B-splines in R (S-Plus).
When sourced into R, the file creates the input file for ADMB lidar.dat.
You can use lidar.s as a basis for you own spline models.
Results
Fitted mean and standard deviation are shown in the figure below:
|


Digital goodies
we create unique and perfectly crafted
websites,apps and brand designs.
We are a digital and branding studio specializing in the design of unique websites, mobile apps, and elaborate brands. We are perfectionists who know only too well that the details are what push projects to a whole new level.
Learn more about usDelicious masterpieces
Show all projects,,The result met our visions and expectations and we are very satisfied with the both aesthetics and functionality of our revamped website."
Ing.Zuzana Krajnáková - Project manager at Aluplast
Juicy Brands
Showcasing everyone who let us spruce up their projects
Your cup of tea?
Let's start
<EMAIL_ADDRESS>a quote
+421 902 468 085
Prague / Vienna / Bojnice (CET)


INDOCHINE A film review by Ben Hoffman Copyright 1997 Ben Hoffman
There have been several films in the past that dealt with French colonization. ALGIERS is perhaps the finest example.
INDOCHINE starts slowly, as if it were merely the story of a French woman, Ms. Devries (Catherine Deneuve), whose father and she own a rubber plantation in VietNam, and who falls in love with a younger man (Vincent Perez), a French naval officer.
But the film suddenly picks up its pace when it turns political, when it shows how the French treated the Indo-Chinese as slaves, separating families (as was done in the U.S. prior to our Civil War), how people were weighed and examined like cattle before being sold into bondage. Clearly, the VietNamese had enough grievances to overthrow the French and drive them out.
The story takes another turn when the young man leaves Ms. Devries when her daughter falls in love with him. But the main story is the routing of the French, the love stories being merely the vehicle to tell the greater story of the war.
An exciting film. . . and a foreshadowing of what we encountered when we fell into the VietNam trap from which the French had finally extricted themselves.
In French with English subtitles.
Directed by Regis Wargnier
3.5 Bytes
4 bytes = Superb 3 bytes = Too good to miss 2 bytes = Average 1 byte = Save your money
Ben Hoffman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


[GSoC 2016] Completion of status report
I have completed the brief status report of the current ruby_curry codebase. The report is organised into 3 main sections -
- Installation/Usage instructions
- Code Workflow
- Directory-wise file descriptions
The primary purpose of the report is to document the current work so as to comprehensively evaluate the tool from scratch. The evaluation will aid in planning the first set of steps to be undertaken in the upcoming “Coding Phase” of GSoC. The document will also aid the users interested in using the current version of ruby_curry.
Please leave your comments/suggestions in the report :)
Looking forward to start the Coding Phase !


Histopathology is the microscopic examination of tissue samples (from biopsies), to study manifestations of disease.
— Wikipedia
The tissue is processed by embedding in paraffin wax, microtomy, and staining with dyes.
We're going to pull primarily from scikit-image, a fantastic Python library for image processing.
We'll also use parts of scipy's ndimage
module.
Much like in other areas of traditional machine learning, a lot of image processing is about feature engineering, representing the information you have in a way that is more digestable and processable by a computer. Feature engineering is as much art as science.
# Load the data, and look for a hint of where to start first
widefield_image_file = "data/Sheep11-4x-77.jpg"
image = transform.rescale(io.imread(widefield_image_file), 0.25)
plot_image(image)
The first channel is potentially promising, but those veins might cause issues. Instead of thinking about this in terms of RGB, maybe we can break the image up into its dyes : haematoxylin and eosin.
# Perform a colour deconvolution
heu = color.separate_stains(image, colour_deconv_matrix).astype(float)
plot_image(heu)
The middle channel here looks like a good start. Let's boost the contrast and improve our dynamic range using histogram equalisation.
# Apply CLAHE on the haematoxylin channel
rescaled = exposure.rescale_intensity(heu[:, :, 1], out_range=(0, 1))
equalised_hist = exposure.equalize_adapthist(rescaled)
plot_image(np.dstack((image, equalised_hist)))
Haematoxylin dyes nuclei - and zones of inflammation of just high concentrations of cells, each of which contain a nucleus. We can now pretty easily pick out the zones of inflammation. Still, we need to differentiate between the inflammation and the background, which also contains lots of nuclei.
# Apply Gaussian blur
blurred = filters.gaussian(equalised_hist, 7)
plot_image(np.dstack((image, blurred)))
Applying a blur helped to even things out a little. We're at a point where the inflammation is quite bright, and the background is a medium grey. Let's crank up the contrast to stretch our dynamic range a little.
# Sigmoid transform for contrast
contrast = exposure.adjust_sigmoid(blurred, cutoff=0.6)
plot_image(np.dstack((image, contrast)))
This looks much more promising now. We're probably at a point where we can threshold again.
# Apply an adaptive threshold
thresholded = contrast > filters.threshold_local(contrast, 351, offset=-0.1)
plot_image(np.dstack((image, thresholded)))
We now have something that matches fairly well. However, the contours of the inflammatory zones aren't very "natural", and the zones contain holes. We can clean this up using some morphological operations.
# Use a maximum filter followed by a binary closing to fill any holes
enlarged = maximum_filter(thresholded, 5)
inflammation = morphology.closing(enlarged, morphology.disk(11))
plot_image(np.dstack((image, inflammation)), titles=["Original", "Automated image processing"])
# Load up the human mask and visualise everything together
mask = transform.rescale(io.imread("data/Sheep11-4x-77.jpg_mask.jpg"), 0.25)
all_images = np.dstack((image, mask, inflammation))
plot_image(all_images, titles=["Original", "Human-masked", "Automatic"])
This is a quick experiment with a type of neural network called a convolutional encoder-decoder. They're some of the state-of-the-art neural network architectures for semantic segmentation : breaking down images into different parts, based on their content.
Over the weekend, I trained a ( very untuned ) convolutional encoder-decoder. Let's see what it can do.
# Let's use a convolutional encoder-decoder network to find inflammatory zones
from keras.models import load_model
model = load_model("models/histo_convnet.hdf5")
model.summary()
_________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d_206 (Conv2D) (None, 432, 648, 32) 896 _________________________________________________________________ conv2d_207 (Conv2D) (None, 432, 648, 32) 9248 _________________________________________________________________ conv2d_208 (Conv2D) (None, 432, 648, 32) 9248 _________________________________________________________________ max_pooling2d_37 (MaxPooling (None, 216, 324, 32) 0 _________________________________________________________________ conv2d_209 (Conv2D) (None, 216, 324, 64) 18496 _________________________________________________________________ conv2d_210 (Conv2D) (None, 216, 324, 64) 36928 _________________________________________________________________ conv2d_211 (Conv2D) (None, 216, 324, 64) 36928 _________________________________________________________________ max_pooling2d_38 (MaxPooling (None, 108, 162, 64) 0 _________________________________________________________________ conv2d_212 (Conv2D) (None, 108, 162, 256) 147712 _________________________________________________________________ conv2d_213 (Conv2D) (None, 108, 162, 256) 590080 _________________________________________________________________ max_pooling2d_39 (MaxPooling (None, 54, 81, 256) 0 _________________________________________________________________ conv2d_214 (Conv2D) (None, 54, 81,<PHONE_NUMBER> _________________________________________________________________ conv2d_215 (Conv2D) (None, 54, 81,<PHONE_NUMBER> _________________________________________________________________ up_sampling2d_37 (UpSampling (None, 108, 162, 512) 0 _________________________________________________________________ conv2d_216 (Conv2D) (None, 108, 162,<PHONE_NUMBER> _________________________________________________________________ conv2d_217 (Conv2D) (None, 108, 162, 256) 590080 _________________________________________________________________ up_sampling2d_38 (UpSampling (None, 216, 324, 256) 0 _________________________________________________________________ conv2d_218 (Conv2D) (None, 216, 324, 64) 147520 _________________________________________________________________ conv2d_219 (Conv2D) (None, 216, 324, 64) 36928 _________________________________________________________________ conv2d_220 (Conv2D) (None, 216, 324, 64) 36928 _________________________________________________________________ up_sampling2d_39 (UpSampling (None, 432, 648, 64) 0 _________________________________________________________________ conv2d_221 (Conv2D) (None, 432, 648, 32) 18464 _________________________________________________________________ conv2d_222 (Conv2D) (None, 432, 648, 32) 9248 _________________________________________________________________ conv2d_223 (Conv2D) (None, 432, 648, 32) 9248 _________________________________________________________________ conv2d_224 (Conv2D) (None, 432, 648, 1) 289 ================================================================= Total params: 6,418,113 Trainable params: 6,418,113 Non-trainable params: 0 _________________________________________________________________
# Use the convnet to find the inflammatory zones, and compare with our work so far
nn_image = transform.rescale(image, 0.5)
pred = model.predict(nn_image.reshape(1, *nn_image.shape)).squeeze()
plot_grid((image, mask, inflammation, pred), ["Original", "Human-masked", "Classical", "ConvNet"])
scikit-image is a fantastic library with excellent documentation and a great API.
Keras is my library of choice for quickly developing neural networks, including the one trained above.
scipy's ndimage module contains a number of very useful image processing methods, such as FFT-based convolutions, binary morphological operations, and measurement tools.


Some movies ask you to leave your brain at the door , some movies ask you to believe in the impossible to really have a good time.  Congratulations , you now have all the necessary requirements to fully enjoy a whole lot of nothing.
Some movies fail at the box office but you manage to see why the producers thought it could have been a good movie , others are simply good ideas that are badly executed. Then there's Playing God , which enters the esteemed category of movies which seem to have grown from the union of a drunk director , actors satisfied in the knowledge that this horrible flick will have no lasting impact on their careers and a bunch of rip-offs ( or homages as they like to call it ) from other , better movies that end up looking like an unflushed toilet.
Harsh? Maybe. Justified? Hell yes!
This is a movie that is not just satisfied in ripping off other movies but feels the need to remind us of that fact every ten minutes. For example , a gunman bursts into a garden with the two guns in his hands firing away. This does look moderately kool , but the camera lingers on the actor for so long you can almost hear the director yelling: "Oooh , look look! John Woo! Two guns blazing! Slooooow motion!"
And if that wasn't enough , you can also hear the script grunting under the effort it must take to try and make every single line of dialogue sound like something deep and meaningful like in a Tarantino movie. Poor Timothy Hutton gets to deliver most of the corny lines , you have to admire the effort he puts into it , this guy deserves better.
 Example: Duchovny manages to distract a bad guy by making him go into the bathroom to get some bandages. Now the bad guy is , like , stoned , man , so he leaves his shotgun next to our hero. ( term used as loosely as possible )
Survival instincts and a good dose of common sense seems to suggest grabbing the shotgun , which our hero does , but only after contemplating it for about thirty seconds. Even when he does grab it he seems unsure how to hold it , going so far as to actually wonder if he should place a finger near the trigger. Mind you , I've never fired a shotgun in my life but believe you me that the bad guy would be missing most of his vital organs , be he stoned or not.
Some will argue that our hero does not have a killer instinct , the hell with that! Two FBI guys have just been shot in front me , along with one bad guy and the other looks like he might go ballistic at any second. Solution? BOOM! I'll take the time to feel sorry about it later thank you very much.
 He knows the head bad guy has her on the tenth floor of a building and that he might be running into a room full of people with itchy trigger fingers.  No thanks , I'll just ditch it in the back of my car. And the real kicker is this: when he reaches the room and people start shooting at him he has the nerve to look surprised!
While we are on the subject of getting shot , why in hades were those FBI guys sitting with their backs to the door? I've got no formal training but even I know you never sit with your back to the door.  This is the major problem with this movie , any mook could have thought of a hundred ways to make it better. Is it so much to ask that Hollywood actually put a little common sense into their characters?
For instance:
Our heroes hide at Duchovny's summer home , now the bad guys could come knocking at any moment. Ok , this time our hero does get himself a gun and has it at his side most of the time. But see , our hero is a drug addict and guess what? He chooses now to go clean and suffer through DT. Oh sure , he'll be really impressive when the bad guys come calling. Going clean is really honorable of him , but I would have waited until I did not need to be conscious or being able to fire a gun.
Rating: 1 out of 5 for an enjoyable performance by Timothy Hutton , plot holes the size of Godzilla , getting our intelligence insulted and several "oh come on!" moments.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


"apps taking advantage of new features supported by modern browsers [...] that let users upgrade web apps to progressive web applications in their native operating system"- Frances Berriman and Alex Russell, 2015
Fast
Integrated
Reliable
Engaging
Progressive
Responsive
Connectivity independent
App-like
Fresh
Safe
Discoverable
Re-engageable
Installable
Linkable
What needs to be on screen immediately?
What other UI components are key to our app?
What supporting resources are needed?
Chrome vs. content
Performance optimisation
Background worker (no DOM access)
Intercept network traffic
Push notification
Background sync
Just JavaScript
Reduce network traffic
Offline fallback first
Install banner (A2HS)
Icons
Colours
Splash screen
Don't be obnoxious.
Browser decides on repeat visits.
Mobile-first
Communicate state well
Semantic markup
'Jankiness'
"The app loads in under a second..."
What does 'loaded' mean?
JavaScript is your most expensive asset.- Alex Russell
Script loading delays TTI
TTI Goals:
± 5 Billion Devices Connected to the Web
(More mobile than desktop)
13% of time on mobile is on web, 87% on native apps.
Use about 10 apps per day
80% of time is spent in 3 apps
On average, a user installs ZERO new apps per month
Average app size is ±15mb Android and ± 38mb iOS
90% of sites are sending ~1mb gzipped JS
(~ 4mb, 4s on parse and compile)
40% of JS downloaded is unused
Average 35s TTI on mobile
After 3s, 20% of users abandon the session
±4 billion globally
±400m in Africa
±30m in South Africa
±52% globally
±31% in Africa
±54% in South Africa
420m -> 535m unique mobile subscribers
200m -> 500m smart phones
26% -> 38% mobile web
@mikegeyser
<EMAIL_ADDRESS>zatech.co.za


Result public enum Result<T> All query output are wrapped into this Enum success Success Result Declaration Swift case success(T) Parameters T T can be Weather of Forecast struct error Error case Declaration Swift case error(Error?) Parameters Error? error can be nil when error are unknown © 2018 Marinel Maxime. All rights reserved. (Last updated: 2018-04-26) Generated by jazzy ♪♫ v0.9.2, a Realm project.


- saveConfig(String, ArrayList<CustomObject>, double, double) - Static method in class application.ConfigSaver
-
Saves a config to file.
- saveLogToFile() - Method in class application.PhysicsSimulation
-
Saves the sim time log to file.
- saveMenuItem - Variable in class application.ConfigController
-
- setAcc(Position) - Method in class application.CustomObject
-
Sets the acceleration of the object
- setAcc(Position) - Method in class application.Rotation
-
Sets the acceleration of the rotation, has an acceleration of each component
- setActions() - Method in class application.ConfigController
-
Sets up the actions for all the buttons and menus in the GUI
- setActiveMaterial() - Static method in class application.ObjImporter
-
Sets the current active material
- setCanMove(boolean) - Method in class application.CustomObject
-
Sets if the object can move or not.
- setConfigList(ObservableList<String>) - Method in class application.ConfigController
-
Sets the list of loadable configs to the input list
- setD(double) - Method in class application.Material
-
Sets the alpha of the material
- setExtraButtons() - Method in class application.ConfigController
-
Setup the actions for the extra buttons for objects (inverseMassSlider,canMoveBox and gravityBox)
- setFaces(ArrayList<TriangularFace>) - Method in class application.CustomObject
-
Sets the faces of the object
- setFrame(JFrame) - Method in class application.Renderer
-
Sets the frame the canvas is in, used for closing the frame when exit is chosen.
- setGravity(boolean) - Method in class application.CustomObject
-
Sets if the object is effected by gravity
- setHasTexture(boolean) - Method in class application.CustomObject
-
Sets the value that says if the object has a texture.
- setInverseMass(double) - Method in class application.CustomObject
-
Sets the inverse mass of the object.
- setKa(Position) - Method in class application.Material
-
Sets the ambient colour value of the material
- setKd(Position) - Method in class application.Material
-
Sets the diffuse colour of the material
- setKs(Position) - Method in class application.Material
-
Sets the specular colour of the material
- setLastCol(Position) - Method in class application.CustomObject
-
Sets the position of the last collision
- setLPFaces(ArrayList<TriangularFace>) - Method in class application.CustomObject
-
Sets the low poly faces of the objects
- setLPName(String) - Method in class application.CustomObject
-
Sets the name of the low poly part of the object, this is used in the config creator
- setLPVertices(ArrayList<Vertex>) - Method in class application.CustomObject
-
Sets the vertices of the low poly part of the object to the input ones
- setMainApp(MainApp) - Method in class application.MainGUIController
-
Sets the application that is minimised when another window is opened
- setMainSim(ConfigCreatorSim) - Method in class application.ConfigController
-
Sets the simulation running in the config creator
- setMainSim(MainSimulation) - Method in class application.MainGUIController
-
Sets the simulation used to run the physics (not config creator) with
- setMapD(String) - Method in class application.Material
-
Sets the alpha texture map of the material
- setMapKa(String) - Method in class application.Material
-
Sets the ambient texture map of the material
- setMapKd(String) - Method in class application.Material
-
Sets the diffuse texture map of the material
- setMapKs(String) - Method in class application.Material
-
Sets the specular texture map of the material
- setMaterial(Material) - Method in class application.CustomObject
-
Sets the objects material to the one input
- setMenuButtons() - Method in class application.ConfigController
-
Setup the actions for the menu buttons
- setMiscButtons() - Method in class application.ConfigController
-
Sets up the miscellaneous buttons and menus etc
- setName(String) - Method in class application.CustomObject
-
Sets the name of the object, this is used in the config creator
- setName(String) - Method in class application.Material
-
Sets the name of the material
- setNormal(double, double, double) - Method in class application.Vertex
-
Sets the normal x, y and z to (nX,nY,nZ)
- setNormal(double[]) - Method in class application.Vertex
-
Sets the normal x, y and z to the values in inpNormal
- setNs(double) - Method in class application.Material
-
Sets the specular weight of the material
- setObjects(ArrayList<CustomObject>) - Method in class application.Renderer
-
Sets the objects the renderer is to display to the given objects
- setPosition(Position) - Method in class application.CustomObject
-
Sets the objects position to the one input
- setPosition(double, double, double) - Method in class application.Position
-
Sets the position to the input one.
- setPosition(double[]) - Method in class application.Position
-
Sets the position to one specified in an array of doubles
- setRotateButtons() - Method in class application.ConfigController
-
Setup the actions for the rotate buttons
- setRotation(Rotation) - Method in class application.CustomObject
-
Sets the objects rotation to the one input
- setRotation(double, double, double) - Method in class application.Rotation
-
Sets the rotation for each axis.
- setStringForDisplay(String) - Method in class application.Renderer
-
Sets an external string to display on the screen.
- setTexture(Texture) - Method in class application.CustomObject
-
Sets the objects texture to the one input
- setTextureCoords(Position) - Method in class application.Vertex
-
Sets the texture coords x, y and z to the values in inpNormal
- setTranslateButtons() - Method in class application.ConfigController
-
Setup the actions for the translate buttons
- setVel(Position) - Method in class application.CustomObject
-
Sets the velocity of the object
- setVel(Position) - Method in class application.Rotation
-
Sets the velocity of the rotation, has a velocity of each component
- setVelocitySliders() - Method in class application.ConfigController
-
Setup the actions for the initial velocity sliders
- setVertices(ArrayList<Vertex>) - Method in class application.CustomObject
-
Sets the vertices of the object to the input ones
- setX(double) - Method in class application.Position
-
Sets the x coord of the position to the input
- setX(double) - Method in class application.Rotation
-
Sets the x axis component of the rotation
- setXVel(int, int) - Method in class application.ConfigCreatorSim
-
Sets the initial x velocity of an object
- setXVel(int, int) - Method in class application.ConfigSimulation
-
Sets the x component of velocity of an object.
- setY(double) - Method in class application.Position
-
Sets the y coord of the position to the input
- setY(double) - Method in class application.Rotation
-
Sets the y axis component of the rotation
- setYVel(int, int) - Method in class application.ConfigCreatorSim
-
Sets the initial y velocity of an object
- setYVel(int, int) - Method in class application.ConfigSimulation
-
Sets the y component of velocity of an object.
- setZ(double) - Method in class application.Position
-
Sets the z coord of the position to the input
- setZ(double) - Method in class application.Rotation
-
Sets the z axis component of the rotation
- setZVel(int, int) - Method in class application.ConfigCreatorSim
-
Sets the initial z velocity of an object
- setZVel(int, int) - Method in class application.ConfigSimulation
-
Sets the z component of velocity of an object.
- showFPS(GLAutoDrawable, GLU) - Method in class application.FPSSystem
-
Draws the fps and frame time to the screen.
- showFPSAndVerts(GLAutoDrawable, GLU, int) - Method in class application.FPSSystem
-
Draws the fps, frame time and number of vertices to the screen.
- sim - Variable in class application.ConfigCreatorSim
-
The simulation used and displayed in the window
- skipLine(int, ArrayList<Character>) - Static method in class application.ObjImporter
-
Moves the position in the chars list to after the next newline character
- skipUntilNotSpace(int, ArrayList<Character>) - Static method in class application.ObjImporter
-
Moves the position in the chars list to the next non-space character
- skipUntilSpace(int, ArrayList<Character>) - Static method in class application.ObjImporter
-
Moves the position in the chars list to the next space character
- sortObjects() - Method in class application.PhysicsSimulation
-
Sorts the objects in the sim alphabetically based on name.
- start(Stage) - Method in class application.MainApp
-
- startTime - Variable in class application.FPSSystem
-
The time the fps system was started
- stringForDisplay - Variable in class application.Renderer
-
The string to display to the screen


| Book of Mormon |
Annotations |
|
Chapter 24
|
This chapter is from Isaiah 14. Considering how hard it
would be to transcribe an entire chapter from Isaiah onto metal plates.
Wouldn’t it make more sense for the author to reference the writings from
Isaiah and perhaps provide some commentary?
|
|
1 For the Lord will have mercy on Jacob, and will yet
choose Israel, and set them in their own land; and the strangers shall be
joined with them, and they shall cleave to the house of Jacob.
|
|
|
2 And the people shall take them and bring them to their
place; yea, from far unto the ends of the earth; and they shall return to
their lands of promise. And the house of Israel shall possess them, and the
land of the Lord shall be for servants and handmaids; and they shall take
them captives unto whom they were captives; and they shall rule over their
oppressors.
|
|
|
3 And it shall come to pass in that day that the Lord
shall give thee rest, from thy sorrow, and from thy fear, and from the hard
bondage wherein thou wast made to serve.
|
|
|
4 And it shall come to pass in that day, that thou shalt
take up this proverb against the king of Babylon, and say: How hath the
oppressor ceased, the golden city ceased!
|
|
|
5 The Lord hath broken the staff of the wicked, the scepters
of the rulers.
|
|
|
6 He who smote the people in wrath with a continual
stroke, he that ruled the nations in anger, is persecuted, and none
hindereth.
|
|
|
7 The whole earth is at rest, and is quiet; they break
forth into singing.
|
|
|
8 Yea, the fir trees rejoice at thee, and also the cedars
of Lebanon, saying: Since thou art laid down no feller is come up against us.
|
|
|
9 Hell from beneath is moved for thee to meet thee at thy
coming; it stirreth up the dead for thee, even all the chief ones of the
earth; it hath raised up from their thrones all the kings of the nations.
|
|
|
10 All they shall speak and say unto thee: Art thou also
become weak as we? Art thou become like unto us?
|
|
|
11 Thy pomp is brought down to the grave; the noise of thy
viols is not heard; the worm is spread under thee, and the worms cover thee.
|
|
|
12 How art thou fallen from heaven, O Lucifer, son of the
morning! Art thou cut down to the ground, which did weaken the nations!
|
|
|
13 For thou hast said in thy heart: I will ascend into
heaven, I will exalt my throne above the stars of God; I will sit also upon
the mount of the congregation, in the sides of the north;
|
|
|
14 I will ascend above the heights of the clouds; I will
be like the Most High.
|
|
|
15 Yet thou shalt be brought down to hell, to the sides of
the pit.
|
|
|
16 They that see thee shall narrowly look upon thee, and
shall consider thee, and shall say: Is this the man that made the earth to
tremble, that did shake kingdoms?
|
|
|
17 And made the world as a wilderness, and destroyed the
cities thereof, and opened not the house of his prisoners?
|
|
|
18 All the kings of the nations, yea, all of them, lie in
glory, every one of them in his own house.
|
|
|
19 But thou art cast out of thy grave like an abominable
branch, and the remnant of those that are slain, thrust through with a sword,
that go down to the stones of the pit; as a carcass trodden under feet.
|
|
|
20 Thou shalt not be joined with them in burial, because
thou hast destroyed thy land and slain thy people; the seed of evil-doers
shall never be renowned.
|
|
|
21 Prepare slaughter for his children for the iniquities
of their fathers, that they do not rise, nor possess the land, nor fill the
face of the world with cities.
|
|
|
22 For I will rise up against them, saith the Lord of
Hosts, and cut off from Babylon the name, and remnant, and son, and nephew,
saith the Lord.
|
|
|
23 I will also make it a possession for the bittern, and
pools of water; and I will sweep it with the besom of destruction, saith the
Lord of Hosts.
|
|
|
24 The Lord of Hosts hath sworn, saying: Surely as I have
thought, so shall it come to pass; and as I have purposed, so shall it stand—
|
|
|
25 That I will bring the Assyrian in my land, and upon my
mountains tread him under foot; then shall his yoke depart from off them, and
his burden depart from off their shoulders.
|
|
|
26 This is the purpose that is purposed upon the whole
earth; and this is the hand that is stretched out upon all nations.
|
|
|
27 For the Lord of Hosts hath purposed, and who shall
disannul?
That the Lord hath founded Zion, and the poor of his people shall trust in
it.
|
|


Notebooks
Story: The jackal watches the lion
The jackal watches the lion
Title
The jackal watches the lion
Collection
Summary
Jackals watch the lions while they eat the springbok.
Comments
1) This story is found in Book I
Contributors
Date
May 1871 (finished on 20 May)
Categories
Keywords
jackal (actions of) , jackal (doings of) , jackal (habits of) , jackal (watches the lion eat the springbok) , jackal (and a lion) , lion (the jackal watches it eat the springbok) , lion (and the jackal) , lion (actions of) , lion (doings of) , lion (habits of) , springbok (jackal watches lion eat)
Story Pages
324-325


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.threed.jpct.util.Light
Light is a helper class to ease the rather unintuitive handling of light
sources in jPCT. Usually, lights are managed by the corresponding world
instance and identified by a numerical ID. This is a fast way of doing it,
but not very convenient nor OO. This little helper will improve this
situation but it still sits on top of the "normal" implementation.
| Constructor Summary | |
Light(World world)
Creates a new light in the world. |
| Method Summary | |
void |
disable()
Disables a light. |
void |
dispose()
Disposes the light. |
void |
enable()
Enables a light. |
float |
getAttenuation()
Returns the light's attenuation if it has been set before. |
float |
getDiscardDistance()
Gets the discard distance of this light, if it has be set before. |
float |
getDistanceOverride()
Returns the overriden distance. |
SimpleVector |
getIntensity()
Sets the light's intensity. |
SimpleVector |
getPosition()
Returns the position of this light in world space. |
boolean |
isEnabled()
Is the light enabled? |
void |
rotate(SimpleVector degrees,
SimpleVector pivot)
Rotates the light around a rotation pivot. |
void |
setAttenuation(float att)
Sets the light's attenuation. |
void |
setDiscardDistance(float dist)
Sets the light's discard distance. |
void |
setDistanceOverride(float distance)
Overrides the distance that is usually calculated by taking the distance between the light source and an object. |
void |
setIntensity(float red,
float green,
float blue)
Sets the light's intensity. |
void |
setIntensity(SimpleVector inty)
Sets the light's intensity. |
void |
setPosition(SimpleVector pos)
Sets the position of this light in world space. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public Light(World world)
world
- the instance of world| Method Detail |
public void enable()
public void disable()
public void dispose()
public boolean isEnabled()
public void setIntensity(SimpleVector inty)
inty
- a SimpleVector that contains the intensities of r,g,b in its
x,y,z-components.public void setIntensity(float red, float green, float blue)
red
- the red intensitygreen
- the green intensityblue
- the blue intensitypublic SimpleVector getIntensity()
public void setAttenuation(float att)
att
- the attenuation. The lower the value, the faster the light
will fade. -1 means no fading at all.public float getAttenuation()
public void setDiscardDistance(float dist)
dist
- the discard distance, i.e. the distance where the light will
be "cut off" at latest. -1 means never.public float getDiscardDistance()
public void setDistanceOverride(float distance)
distance
- the new distancepublic float getDistanceOverride()
public void setPosition(SimpleVector pos)
pos
- the positionpublic SimpleVector getPosition()
public void rotate(SimpleVector degrees, SimpleVector pivot)
degrees
- a SimpleVector that contains the rotation angles in its
x,y,z-componentspivot
- SimpleVector the rotation pivot
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


{{reportName}}: {{from}} - {{to}}
Hours Tracked
{{hours totalHours}}
Billable Hours
{{hours totalBillableHours}} Billable
{{hours totalUnbillableHours}} Non-Billable
Billable Amount
{{currency totalAmount}}
Uninvoiced Amount
{{currency totalUninvoicedAmount}}
Team Report
| Name |
Hours |
|
Billable Hours |
Billable Amount |
{{#each tasks}}
| {{this.taskName}} |
{{hours this.totalHours}} |
|
{{hours this.billableHours}} ({{billablePercent}}%) |
{{currency this.totalAmount}} |
{{#each this.items}}
| {{this.fullName}} |
{{hours this.totalHours}} |
|
{{hours this.billableHours}} ({{billablePercent}}%) |
{{currency this.totalAmount}} |
{{/each}}
{{/each}}
| Total |
{{hours totalHours}} |
|
{{hours totalBillableHours}} |
{{currency totalAmount}} |
{{#if moreThanOneProject}}
Projects Report
| Name |
Hours |
|
Billable Hours |
Billable Amount |
{{#each projects}}
| {{this.projectName}} |
{{hours this.totalHours}} |
|
{{hours this.billableHours}} ({{billablePercent}}%) |
{{currency this.totalAmount}} |
{{/each}}
| Total |
{{hours totalHours}} |
|
{{hours totalBillableHours}} |
{{currency totalAmount}} |
{{/if}}
Detailed Time Report
| Person |
Date |
Project |
Task |
Hours |
{{#each detailsEntries}}
| {{this.fullName}} |
|
|
|
{{hours this.totalHours}} |
{{#each this.notes}}
|
{{this.spentOn}} |
{{this.projectName}} |
{{this.taskName}} |
{{hours this.hoursWorked}} |
{{#if this.notes}}
|
{{this.notes}}
|
{{/if}}
{{/each}}
{{/each}}
|
|
|
|
Total {{hours totalHours}} |


Meet My Latest Work
A picture is a secret about a secret, the more it tells you the less you know.
A premium photography front-end template.
You don't take a photograph, you make it.
Photographers tend not to photograph what they can't see, which is the very reason one should try to attempt it. Otherwise we're going to go on forever just photographing more faces and more rooms and more places. Photography has to transcend description. It has to go beyong to bring insight into the subject, or reveal them, not as it looks, but how does it feel. I belive that there are no bad pictures; that's just how it looks sometimes.
For me, the subject and emotion of the picture is aways more important than the picture itself. A photograph is a click away. A good photographer is a hundred clicks away and a better one, a thousand clicks away for a good shot sometimes, the passion that we put on it is one of the most important aspects of the whole thing, how can you make something good out off a thing that you don't like.
I am a professional photographer by trade and an amateur photographer by vocation. If only I had thought of a Kodak! I could have flashed that glimpse of the Under-world in a second, and examined for more best and nice photographers.
Both those taking snaps and documentary photographers, however, have not understood "information". What they produce are memories.
When people look at my pictures I want them to feel the way they do when they want to read a line of poem twice. Today everything exists to end in a photograph. When I look at my old pictures, all I can see is what I used to be but am no longer.
You can check some more of my work in the secontion below this, I'm always involved into something cool that's happening around my city.
A picture is a secret about a secret, the more it tells you the less you know.
Caputring exceptional momments that will be remembered forever.
Follow my latest articles about photography and retouching.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Feel free to contact me at anytime using the form below.


Pixel Pal (PART 1) : Adapting old icon themes for HiDPI screens
Posted on Mon 27 January 2020 in Linux, HiDPI, PixelPal
I am starting a new open source project. The goal of this project is to solve a recurring issue with HiDPI support. The issues is that many old software rely on icon themes in raster format which are not suitable for HiDPI screens. To be more specific various software projects rely on icons which are only in raster formats (e.g. JPG, PNG, ...) but not in vector format (e.g. SVG) and are only available in low resolutions formats (e.g. 32x32) which is fine for non HiDPI screens but there is no equivalent for high resolution formats required by HiDPI (e.g. 64x64). The naive solution is to simply is to do pixel doubling, but this results in an ugly pixelated look. My new project will use some tools from artificial intelligence to do better.
The way to solve this issue using artificial intelligence is to use super resolution deep learning models. These deep learning neural networks rely on images not being random but representations of real things where there are subtle statistical relations between the pixels of an image in practice. A simple example of how pixels can be related to one another is that often there are lines and curves in images.
A series of blog posts will detail the progress of the project.


THE GENERAL (Sony Pictures Classics) Directed by John Boorman
If Martin Scorsese had hailed from Ireland instead of New York, he might have made a picture like "The General," a dazzling, frequently hilarious crime story about Martin Cahill, a legendary figure in the Irish underworld. Cahill, marvelously played by Brendan Gleeson, saw himself as a modern-day Robin Hood who spirited away the valuables of the wealthy and shared part of his take with his less-fortunate neighbors. "My way of paying taxes, y'know?" he explains to one of his cronies. But his busy schedule of thieving didn't get in the way of his family life. He fathered children by both his wife Frances (Maria Doyle Kennedy) and her sister Tina (Angeline Ball), an arrangement neither woman had a problem with, according to the film. There are echoes of HBO's superb series about gangsters in the suburbs, "The Sopranos," in the way Martin manages to come home from his unsavory career and still have the energy to throw a backyard birthday party or shop for racing pigeons, another of his passions. Buying larger ticket items is a bit more complex, however. When he decides to purchase a new house, Frances has to remind him that realtors aren't likely to accept 80,000 pounds in cash. Cahill's nemesis is police inspector Ned Kenny (Jon Voight), with whom he maintains a prickly relationship that has undercurrents of grudging mutual admiration. Voight, whose recent performances have ranged from the flat-out bizarre ("Anaconda," "U-Turn") to underplayed ("Rosewood"), finds the perfect key for Kenny, a beleaguered cop who calls Cahill a "scooombug," yet seems on some level to enjoy the mind games the men throw out at each other. "The General" was directed by John Boorman, whose films such as "Deliverance" and "The Emerald Forest" are red-blooded examples of macho cinema at its most virile. But though this is one of Boorman's lighter works, it still has plenty of violence, colorful language and raging testosterone. At one point, Cahill, suspecting an associate of treachery, nails the man's hand to a snooker table, hoping to get a confession. When the terrified guy still pleads his innocence, Cahill relents, apologizes and even drives him to the emergency room. Not enough can be said about Gleeson's amazing characterization of Cahill; did the Academy Award voters who handed the Best Actor Oscar to Roberto Benigni's soppy Jerry Lewis impersonation bother to take a look at this work?  Much of what Cahill does is morally reprehensible and even shocking, and Boorman and Gleeson don't attempt to make him admirable. By the same token, it's obvious they were fascinated with him and in this vivid black comedy they manage to rope us into sharing their obsession.
James Sanford
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Add a new type to describe multiple fireworks
The starter program animates a random display of 10 fireworks.
This example is the same as the medium solution to the Firework challenge, except that we have replaced lots of variables:
// there are better ways to do this, but I have not really told you about them yet!
Firework firework1;
Firework firework2;
Firework firework3;
Firework firework4;
Firework firework5;
Firework firework6;
Firework firework7;
Firework firework8;
Firework firework9;
Firework firework10;
With a new type FireworkDisplay. If you look at the code in FireworkDisplay you will see that we are using an array to store all of the fireworks:
FireworkDisplay fireworkDisplay;
...
class FireworkDisplay
{
Firework[] fireworks; // this is an array, it holds multiple objects
...
You don't need to worry about how the array works to complete the challenge, but take a look later at the code in FireworkDisplay if you are interested...
Pass a different number to the FireworkDisplay object that is created in the setup() function:
void setup()
{
size(SCREEN_WIDTH, SCREEN_HEIGHT);
smooth();
// create a display of 10 random fireworks
fireworkDisplay = randomFireworkDisplay(10);
}
Try to follow the code to see how the fireworks are animated. The explosion currently happens at a fixed height and radius:
int explosionRadius = 150;
int explosionHeight = SCREEN_HEIGHT/3;
Add new parameters to the Firework constructor like this, to set them on that particular Firework "object":
Firework(float x, int lightTime, int fuseTime, color explosionColor, int explosionHeight, int explosionRadius) {
...
this.explosionHeight = explosionHeight;
this.explosionRadius = explosionRadius;
Set these new parameters from the calling code (more random values perhaps?) and see what happens...
Add a method to to the Firework type that let's us know that it is exploded:
boolean isExploded() ...
In the draw() method check for exploded fireworks in the display and replace them with new ones.