Summary
JavaEE
10+ years of complex software engineering experience of Java, including proven skill sets in JSP/Servlet/J2EE with Struts/Spring/Hibernate/MyBatis etc. Familiar with design pattern, multi-thread, NIO and Executor.
Web development
6+ years web development experience in both frontend and backend using Java.. Moving to Spring-boot based project recently
4+ years coding experience in Javascript with AngularJS, JQuery.
Proficient at JavaScript/Ajax/Html/CSS. (Learning Node.js/ReactJS recently.)
Be responsible for Open Platform and be familiar with RESTful design,including Jersey,SpringMVC,Apache CXF
Familiar with CAS_SSO and HTTPS, and experienced in project
Familiar with OAuth2.0 protocol
Database
Experienced in and familiar with the various database servers, including Mysql, Oracle, H2, SQL server.Using NoSQL (MongoDB, Cassandra) recently.
Application Server
Understanding and using the various application servers, including Tomcat, Jetty, JBoss, Weblogic, and distributed J2EE using any server to run web/browser technologies.
Other Main Frameworks used in project
Python, Maven, Ant, JSTL&EL, SLF4J,Quartz, Json,freemark,Taglib,JXL,JspReport, JFreeChart, Ehcache, Memcached, Junit, JMeter
Familiar with Eclipse, Git, SVN, VSS and capable working under Linux. Quickly learning ability
Work Experience
TikTok. Sep. 2021 - to date, Singapore
Senior Manager, T&S Engineering Team
1. Provide Leadership to Trust and Safety Engineering team to build a high performance and event driven social product where people can safely discover, create and connect.
Ant Group. Nov. 2020 - Sep. 2021, Singapore
Technical Lead, Global E-commerce Payment
1. Providing technical leadership to the payment platform team for stablity and tech risk.
2. Liaised with 100+ engineers on a 5000+ man-day project to rebuilt 25 PRC interfaces, 9 messages & 14 scheduler jobs to make the itnl. businesses meet the US and EU compliance.
3. Improved the overall stability of payment system by 77% via optimizing the distributed transaction and DB connections which reduced the fullGC to 2 hours from 23 hours.
4. Established a tech forum to boost the engineering excellence and setup a training framework to 10+ new joiners.
5. Won the “Breaking Boundaries Awards” for the good teamwork with internal and external teams.
Visa Inc. Mar. 2018 - Nov. 2020, Singapore
Sr. SW Engineer, VISA Token Service
1. Leading the innovation projects development and providing technical leadership to VISA Token Service (VTS) team.
2. Responsible for planning and execution of product requirements. End to end delivery from software design,
development, quality, production roll out and monitoring. Liaison with various team across regions.
3. Conducted Innovation league, Hackathon and codeworks to bring culture of engineering excellence and
creativity in the team. Provided mentorship for the team members and interns. Selected Projects in below.
4. Developed the Card-On-File Data service (COFDS) which enables Issuers/banks to fetch what merchants stored
consumers payment credentials. It is the first API from VTS generating direct profit in production. Multi-threading
and asynchronized database query are intensively used to tune performance and handle the big data (3.5 B records).
5. Delivered the Device Attestation Service (DAS) to protect VISA mobile SDK. Designed and implemented the
validation process to attest android devices with Google Safetynet. 2 M+ android devices are calling DAS.
6. Won the champion of DDP SG Codewroks 2019. Implemented an all-in-one payment solution to enable one
wallet user enjoying the same payment experience with other popular wallets. (Filed 1 patent with 1st author)
7. Won the champion of VISA global hackathon 2018. Developed VISA common QR payment gateway supports
both consumer and merchant present QR.
8. Won the champion of F10 Fintech Hackathon 2018 with A blockchain and IPFS powered KYC system. (Filed
2 patents in progress with 1st author)
Environment and Language: Bitbucket/Rally/Jira/Splunk, Springboot, Docker, Openshift, Oracle, MongonDB
Energy Research Institute @NTUAug. 2014 - Feb. 2018, Singapore
Research Associate (Database and J2EE developer)
1. Team Leader, founded the ICT Team and completed 5 practical projects in past three years.
2. Built the first Energy cloud services in Singapore on basis of Spring framework to exchange the collected energy data. Spark is utilized for real-time data analytics. Compliant with Green Energy Standards – IEEE1888/2030/IEC61850
3. Established team scrum framework - an iterative approach to software delivery that builds software incrementally
4. Wrote Proposals and project management. Liaised with government agencies, professors and industrial companies, we managed to apply the single largest grant from NRF – Smart Muilti-Energy System (SMES) with S$20 million.
5. Leading the software development in SMES and achieved 15% improvements in energy efficiency by implemented web-based SCADA/HMI applications which integrated various BMS, Micorgrids, renewables, energy sources and loads, power meters and sensors. Designed SCADA provides flexible configuration of devices with supported protocols (Modbus RTU/TCP, TCP, etc), data storages, cache, security and alarms to customize users’ applications.
6. Published 5 research papers with high quality. Selected projects: NTU EcoCampus, SMES - Smart Multi Energy System, Powerz ( http://ecocampus.ntu.edu.sg/Pages/powerz.aspx )
Environment and Language: SCADA, JAVA, Python, Cassandra, Spring Boot, JPA, AngularJS, Lunix
Publication:
1. Yuanbo Zhu, Dominic Maurath, Longqi Zhang, Nanmagalam Devika, Leong Hai Koh, Fook Hoong Choo. An Intelligent Microgrid Energy Management System Using Distributed Database and IEEE. The 40th IEEE International Conference on Computers, Software & Applications (COMPSAC2016). Atlanta, USA. Accepted.
2. Dominic Maurath, Zhu Yuanbo, Shu Weiqi, Zhang Longqi, Koh Leong Hai, Choo Fook Hoong.
A Distributed Energy Cloud Concept for Real-time Multi-Energy Integration And Facility Optimization.
World Engineers Summit on Climate Change (WES 2015).
Beijing Computing Center Feb. 2014 - Jul. 2014, Beijing
Architect, Design and Implementation of Industrial Cloud App Store
Quickly created the diagrams of interaction flow, redesigned the website prototypes and page-layouts of an app store of Industrial cloud computing, by utilizing tools such as Axure, Xmind, etc. In charge of the security module and database design of the website, Applied CAS and HTTPS to achieve single-sign-on. The security framework Apache Shiro was utilized to secure our applications. HAProxy was employed to achieve high availability and load balancing. The website also supports the open protocol OAuth2.0. http://www.chinahypercloud.com/
Environment and Language: Linux, Oracle, Tomcat, CAS, Struts2, Spring, Hibernate, HAProxy
Publication: Wei LI; Yuanbo ZHU; Ming ZOU, Applied Research of Single Sign On Technology in Cloud Services. Applied Mechanics & Materials. 2014, Issue 602-605, p3552-3555
Beijing Computing Center Feb. 2014 - Jul. 2014, Beijing
Technical Manager(Department of Research and Development)
Worked as the development manager of the project General Billing Platform for Cloud computing, In charge of the technology selection and building the architecture. participated in the design of product model and the development of target system as well. This project worked base on Springside Pragmatic stype, including the Shiro security framework, Quartz timer, Spring data JPA and Hibernate, etc. RESTful API is provided in our project as well.
Environment and Language: Eclipse, Maven, Java, SpringMVC, Spring, JPA, JQuery, Mysql, Ubuntu
Centre for High Performance Embedded Systems, NTUMAY 2012 - Aug. 2012, Singapore
Research Assistant (Reconfiguration Techniques for Fault Tolerant Mesh-connected Embedded System)
Worked as a research student with NTU, devised novel fault-tolerant techniques to enhance the reliability of the embedded systems, especially, the reconfiguration approaches for two-dimensional fault-tolerant mesh. Proposed algorithm combined dynamic programming and greedy strategy, it can efficiently derive a maximal sized healthy sub-array from the defective host array and improve the performance of the resulting embedded system.
Environment and Language: Linux, C, GCC
Publication: Yuanbo Zhu, Jigang Wu, Siew-Kei Lam and Thambipillai Srikanthan, Reconfiguration Algorithms for Degradable VLSI Arrays with Switch Faults, International Conference on Parallel and Distributed Systems (ICPADS), pp. 356-361, Singapore, 2012.
Centre for High Performance Systems, TJPUSep. 2010 - Apr. 2012, Tianjin
Research Student (Effective Fault-tolerant Techniques on Reconfigurable Meshes, Projects of National Natural Science Foundation (NSF) under Grant No. 60970016 and No. 61173032)
Did research on mesh-connected degradable m×n VLSI/WSI Arrays with faults linked by 4-port switches. Utilize Efficient Heuristics to accelerate the reconfiguration of the two well-known algorithms. By approaching dynamic programming, we proposed temperature-aware fault-tolerance techniques for constructing the optimal target subarray.
Environment and Language: Linux, C, GCC
Publication:
1. Yuanbo Zhu, Jigang Wu, Siew-Kei Lam and Thambipillai Srikanthan, Reconfiguration Algorithms for Degradable VLSI Arrays with Switch Faults, International Conference on Parallel and Distributed Systems (ICPADS), pp. 356-361, Singapore, 2012.
2. Yuanbo Zhu, Jigang WU, Guiyuan JIANG, Ke CHEN, Efficient Heuristics for Minimizing Reconfiguration Overhead on VLSI Arrays with Faults. Journal of Computational Information Systems (JCIS), Binary Information Press, USA, 8: 16 (2012) 6679-6686. (Best Paper Award)
3. Yuanbo Zhu, Wu Jigang, Siew-Kei Lam, T. Srikanthan, Preprocessing Technique for Accelerating Reconfiguration of Degradable VLSI Arrays. IEEE International Symposium on Circuits and Systems(ISCAS), pp. 2424-2427, Beijing, 2013.
4. Wu Jigang, Yuanbo Zhu, Zhipeng Niu, T. Srikanthan, Constructing Low Temperature Subarrays on reconfigurable VLSI Arrays, Journal of Circuits, Systems, and Computers (JCSC), World Scientific Publishing Co. Singapore. Vol. 23, No. 5 (2014) 1450067 (18 pages)
5. Wu Jigang, Guiyuan Jiang, Yuanrui Zhang, Yuanbo Zhu, Algorithm for Communication Synchronization on Reconfigurable Processor Arrays with Faults, In: Proc. The 26th Intl. Parallel and Distributed Processing Symposium (IPDPS), pp. 259-263, Shanghai, 2012.
6. Wu Jigang, Zhipeng Niu, Yuanbo Zhu, T. Srikanthan, Qining Shen, Reconfiguration algorithm for low temperature sub-array on VLSI/WSI arrays with faults. In: Proc. The 18th Intl. Symp. on the Physical and Failure Analysis of Integrated Circuits (IPFA), pp. 203-206, Korea, 2011
Datang Telecom Technology Co. Sep.2012 - Nov.2012, Beijing
Internship (Department of Research and Development)
Utilizing microphone and audio input to realize the data input, data output and human-computer interaction by multi-threading and establishing transferring protocol on Android platform for various mobile phones.
Environment and Language: Eclipse 3.4.1, Android 4.1, ADT-15.0.1, Java 6.0
Development and maintenance of The website of 4th International Symposium on Parallel Architectures, Algorithms and Programming(PAAP) Mar.2011 - Dec.2011, Tianjin
Principal (Practical Project)
Design, master and maintain the website of The Fourth International Symposium on Parallel Architectures, Algorithms and Programming (PAAP 2011), which was held in Tianjin, China, during December 9-11, 2011.
Environment and Language: Win Server 2003, Mysql, Java, Struts2, JSP, JavaMail
Dalian Hi-Think Computer Technology, Corp. Dec.2009 - Mar 2010, Tanggu
Internship (One Province’s Tax Administration System in Japan)
In charged of Oracle Database Design, write stored procedures and SQL queries, write technical documents and master software development process, worked as a team leader of interns.
Environment and Language: Linux server, Oracle Data base, Java, VBA
Berheley Software Design Co., Ltd Jul.2009 - Oct.2009, Tianjin
Internship (Distance Education Platform of the Education Department in China)
Utilized the OSCache framework to optimize Web page, Business logic optimization and later system testing.
Environment and Language: MyEclipse. Java, JSP, OScache, JavaScript, Junit
Social Practice
Senior member of World Education Blockchain Association (WEBS) 2018
Member of Institution Of Engineers (IES), Singapore 2016
Built the website for Advanced Monitoring and Analytics for Gas Pipeline http://freerambo.com/gas, 2015
Built the website for Measurement and Verification of Chilled-water Plant http://freerambo.com/plant, 2015
Developed an IOS mobile app Weknow that discover and share knowledge via images http://youtu.be/uzabkv_e_dw , 2015
Facilitator for NYAA-GAHA Integration Project of Singapore 2014
2009-2010 Part-time Instructor and Teaching Assistant, at School of Computer Engineering, TJPU
2007-2008 President of Future Social Entrepreneur Association, TJPU


From: Ken
About: Appointment
Hi, I just wanted to remind you dinner is at 8pm tonight at Carl's.
From: Sue
About: Shopping
Here's the shopping list for tommorow's party:


House on Haunted Hill
Year: 1959
Vincent Price stars as an eccentric millionaire who invites several friends to his mansion for a night of terror.
Directed by William Castle.
Vincent Price stars as an eccentric millionaire who invites several friends to his mansion for a night of terror.


Disney+ is late to the party but more than ready to take on Netflix
Coming for the crown
Disney+
The original streamer
Netflix
Disney+ is taking hold of its own streaming destiny and offering an unparalleled selection of content from Disney, Marvel, Lucasfilm, and beyond. It's still working through its learning curve, but even at launch it's quite the tantalizing temptation.
Pros
- Exclusive streaming of most Disney content
- Affordable pricing and bundles
- More family-friendly account structuring
Cons
- Less adult content (for now)
- Available on fewer platforms
One of the first streaming services, Netflix has redefined how we view TV and movies. While the loss of Disney owned properties has taken a bite out of Netflix's library, it still dwarfs Disney+, but more isn't always better.
Pros
- Wider, more varied content library
- Available on far more platforms
- Larger selection of adult and international content
Cons
- More expensive for multiple streams and 4K
- Losing most Disney and NBC content in 2020
- Lots of duds and dreck in the catalog
Disney+ offers some of the highest rated movies and shows in the world. Its monthly subscription fee is cheaper and it offers an annual fee that can save consumers even more. It will be the only source for the vast majority of Disney owned content at launch with even more content leaving Netflix over the next couple years. If you were only going to pick one streaming service, Disney+ would be the winner for most folks, but the coming "streaming wars" aren't a zero-sum game.
Prices and features
Source: Android Central
If you're picking one of these streaming plans over the other, chances are that it's about not being able to justify paying for two streaming services, and in this regard Disney has been very aggressive with its pricing against Netflix's trio of plans. Whereas 4K streaming and four concurrent streams needs the $16/month Netflix Premium, you can pay half that price for the same 4K streaming and four concurrent streams on Disney+ — or less than half if you opt for the yearly billing rather than monthly.
| Disney+ | Netflix Basic | Netflix Standard | Netflix Premium | |
|---|---|---|---|---|
| Price | $7/mo $70/year |
$9/mo | $13/mo | $16/mo |
| Trial period | 7 days | 30 days | 30 days | 30 days |
| HD streaming | ✔ | ❌ | ✔ | ✔ |
| 4K streaming | ✔ | ❌ | ❌ | ✔ |
| Concurrent streams | 4 | 1 | 2 | 4 |
| Profile limit per account | 7 | 5 | 5 | 5 |
Disney+'s trial period is shorter than Netflix's, but that won't be nearly as big a deciding factor for most of us as opposed to the high number of concurrent streams and user profiles. Netflix's five-profile limit has been a huge limitation for larger families, and Disney+ allowing for seven profiles gives families more breathing room rather than forcing the kids to all share a single Kids profile.
4K streaming is included for all Disney+ subscribers, but, unfortunately, 4K streaming won't be available on quite as many devices as Netflix because Disney+ won't be available on quite as many platforms as Netflix is. This isn't surprising; after all Netflix comes on just about every TV, Blu-ray player, and entertainment console sold in America today. Disney+ does have a few blemishes on the platform front since it won't be on Fire TV devices.
| Platform | Disney+ | Netflix |
|---|---|---|
| Android phones/tablets | ✔ | ✔ |
| Android TV | ✔ | ✔ |
| Chromecast | ✔ | ✔ |
| iOS & iPadOS | ✔ | ✔ |
| Apple TV | ✔ | ✔ |
| Fire tablets | ❌ | ✔ |
| FireTV devices | ❌ | ✔ |
| Roku | ✔ | ✔ |
| Xbox One | ✔ | ✔ |
| PlayStation 4 | ✔ | ✔ |
| Nintendo Switch | ❌ | ✔ |
| Web client | Issues on Linux/Chrome OS | ✔ |
| Smart TVs | Android TV-run Sony TVs Roku TVs Chromecast built-in TVs |
FireTV TVs Roku TVs Hisense LG Panasonic Philips Samsung Sanyo Sharp Sony Vizio |
While Chromecast means it won't be hard to get Disney+ onto a TV, not having apps for most major smart TVs at launch will be inconvenient for users that are used to just hitting the Netflix button on their remotes and getting their binge on. Disney's engineers are working to bring Disney+ to more platforms, but that takes time and these are all we've got at launch. It won't be able to compete with Netflix in that regard for a while.
Content: A tale of two massive media libraries
Having been in the streaming business as long as Netflix has, it makes sense that its library would dwarf most, if not all of the competition. While Netflix has had a noticeable bite taken out of its library with Disney opting not to extend its contracts, Netflix still has over 47,000 episodes of television shows and over 4,000 movies. At launch, Disney+ will have about 7,500 episodes of television shows and about 500 movies, less than a fifth the size of Netflix's library.
| Platform | Disney+ | Netflix |
|---|---|---|
| Films available | 500+ | 4,000+ |
| TV series available | 7,500+ episodes | 47,000+ episodes |
| Notable Original Series | The Mandalorian The Falcon and the Winter Soldier |
Stranger Things Bojack Horseman Narcos |
| Notable Films | Captain Marvel Star Wars Episode I-VIII Every Disney theatrical animated film |
The Irishman El Camino Roma |
That said, as anyone who's every surfed Netflix will no doubt tell you, that massive library doesn't mean much if most of it's trash. While there are thousands of titles absolutely worth losing days and nights of your short life to on Netflix, you'll have to dig through about 2-3 times the chaff to get to the kernels of goodness.
The quality ratio on Disney is much higher than Netflix, especially if you have a child or child-at-heart in the house.
Disney's got plenty of old (mostly live action) films on Disney+ that probably aren't worth the server space they're taking up, but the quality ratio on Disney is much higher than Netflix, especially if you have a child or child-at-heart in the house.
Disney+ isn't just for kids, though: some of the biggest blockbusters on the planet are on here like Avengers: Infinity War, Star Wars: The Force Awakens, Avatar, Black Panther, Toy Story 3, Pirates of the Carribean — films that drew in just as many adults as they did kids. The most hotly anticipated show on Disney+ is The Mandalorian, a gritty dark Star Wars series about bounty hunters and lawlessness after the collapse of the Empire, something you wouldn't really want to show your kids.
Netflix has a huge, if slightly shrinking, amount of content for you to watch, but Disney+ has it beat on average quality. If you prefer to mostly watch mature content, you'd probably be better off with Hulu, but considering you can get Hulu, ESPN+, and Disney+ for less than a Netflix Premium subscription, Disney still comes out ahead in that fight.
So, Disney+ or Netflix?
Both of these streaming services will provide countless hours of entertainment and both will offer programming the other cannot. As a result, many will choose to pay for both. Fortunately, with the number of ways you can get Disney+ or Netflix included with another service, you may not have to choose at all:
- If you're a T-Mobile customer, you can already get Netflix for free.
- If Verizon is your current wireless provider, you can get a year of Disney+ for free.
- Disney will be offering a bundle of Disney+, ESPN+, and basic Hulu for $13/month on Nov. 12, which is less than Netflix's 4K Premium plan.
There's definite benefits and pitfalls to both services, but in the cordcutting age, Netflix and Disney+ are going to be fighting for your screen time more than they're fighting for your money. You can subscribe to both services and still pay far less than cable, but at the end of the day, you can only watch one stream at a time, and for at least the next few months. Disney+ has my eyeballs and undivided attention as I dive into all the old TV shows I haven't been able to find online since they stopped airing in the late 90's.
Coming for the crown
Disney+
The newest streaming service is changing the game.
Disney+ is taking hold of its own streaming destiny and offering an unparralled selection of content from Disney, Marvel, Lucasfilm, and beyond. It's still working through its learning curve, but even at launch it's quite the tantalizing temptation.
Streaming Veteran
Netflix
The OG of streaming services may just be dethroned
One of the first streaming services, Netflix has redefined how we view TV and movies. While the loss of Disney owned properties has taken a bite out of Netflix's library, it still dwarfs Disney+, but more isn't always better.


|
mtoc++
1.5
mtoc++: Doxygen filter for MatLab .m files
|
Some hopefully useful hints when things dont go as they should!
mtoc++ is designed as a filter for MatLab m-files, so that they can be processed by doxygen as if they were C source files. Everything else regarding tags, conventions and possible formatting of display is completely defined by Doxygen. So, unless explicitly explained as "feature" of mtoc++ here, one should look into Doxygen's documentation pages first before complaining about some stuff that mtoc++ surprisingly cannot do.
Check out the Using mtoc++ directly section for details on how mtoc++ works.
Thanks to a report from K. Kearney to resolve path issues on MAC platforms:
"After building, I added <mydir>/mtoc++_1.4/tools to my Matlab path and tried to run MacDocMaker.setup. I encountered an issue where Matlab couldn't locate either mtocpp or latex. I think this is a Mac-specific issue; when you start Matlab in the standard way, from the Dock (rather than through the command-line matlab command), the shell it starts doesn't run any configuration scripts (.bashrc, .back_profile, etc) or set system paths. I think some versions of Matlab have a .matlabrc.sh file that can be modified to set a PATH, and I've seen something on the newsgroup about .plist files, but I just force the Matlab shell it to match my other Terminal sessions by adding the following lines to the top of the matlab shell script (<matlabroot>/bin/matlab):
With that change (and after restarting Matlab), I was able to successfully run MatlabDocMaker.setup, and then MatlabDocMaker.create on a test directory."
For hard cases like segfaults there is also hope!
You can build your mtoc++ binaries with the Debug
build type (starting in the source folder):
Then, send the compiled binaries along with the used source code to us and we will try to figure out what the heck is wrong with it!


descriptive only - displayed in homekit apps. Changes are only recognized after readding the bridge in the app.
descriptive only - displayed in some homekit apps
descriptive only - displayed in some homekit apps
descriptive only - displayed in some homekit apps
needs to be in form of a mac address, e.g: d8:be:54:e7:06:f8. After changing this field, the bridge needs to be reconfigured in the HomeKit database
needs to be in the form of 123-45-678
0 = random free port assigned by the operation system (default)
true = redirect hap-node logging to adapter logging


You will be given a random number at the start of the game
There are four crystals below. By clicking on a crystal you will add a specific amount of points to your total score.
You win the game by matching your total score to random numbers, you lose the game if your total score goes above
the random number.
The value of each crystal is hidden from you until you click on it.
Each time when the game starts, the game will change the values of each crystal.


Number Box
Overview
Dark Theme
Light Theme
Default mode
With spin and clear buttons
Disabled
With max and min values
Event Handling
This month sales
Stock


You should probably choose the current competition first. Note: This is experimental and shouldn't be expected to be 100% accurate.


Hello everyone, this is Vinit Todai, a Computer Engineer from India working on some really cool technologies in the fields of AI and Brain Computer Interfaces
What you just saw is just one of the infinite possibilities of AI.
Currently I work as a Software Developer at Barclays - the bank who invented the first ATM machine...!
I have been experimenting a lot on the AI and related fields such as Robotics, VR, AR, IOT, Brain computer interfaces.
Participation in more than 15 national and international hackathons and more than 10 national project competitions and entrepreneurship summits, I believe that there is so much more to research and learn and give back to the community.
Do checkout some of my projects here!
And dont forget to checkout the terminal:)
Check out my Keynone Speech at MongoDB World 2019 at New York for the MongoDB World Hackathon Finale!


location_on
Delivery Address
location_on
Get Pin Address
House/Flat/Block No
Landmark
Label this address as


Next Level Crazy Town! Dem Debate Descends Into Open Insanity as The Satanic Snake Eats Itself
Plus Alex Jones bullhorns Tim Cook & Donald Trump to demand end of censorship!
The Democratic debate revealed severe fractions within the party, but Dems can still defeat Trump if he doesn’t take a stand against censorship and political persecution:
You’ll also want to watch this:
By the way, overhaul your body’s cellular engine with our fan-favorite DNA Force Plus!
Scan this code with your smartphone to follow Alex Jones on TikTok:
Also, follow Infowars on Telegram:


No, not this weekend.
MBRA Cross #9 is this Sunday
in Helena.
The season finale, MBRA
Cross #10, will be Sunday November 23 at McCormick Park in Missoula.
Registration starts at 11,
racing starts at noon. $15 entry fee.
The course will be wily and
winding willy-nilly up and down around the park. The course will feature
precipitous drops, dangerous turns, forbidden singletrack, carpet-smooth turf,
collarbone-shattering tree roots, broken glass, and boiling lava. Jamul, Clint,
and Geoff have lapped me in every race I've been in this year, so I'm
determined to set a course where I can ride just as slow as usual and not get
lapped. So expect an inordinate amount of dismounts, sandpits, rockpiles, river
crossings, run-ups and other spectator-friendly attractions.
MBRA 2003 Cross Series
awards will be presented immediately following at post-race festivities.
It looks like the Mens A
series winner will skim home with at least $100. With two races to go, there
are three riders still in the hunt for the series win. It could all boil down
to the last lap in Missoula.
The drawing for the Bianchi
cross bike will also take place at post-race festivities. All riders get one
automatic entry in the raffle for every race entered, and all volunteers get
one automatic entry for every race they helped on. Tickets are also available
for $2 or 6 for $10.
(Helena race organizers, please send me a list of your race volunteers to add to raffle entries. I have volunteer lists for all other races.)


--- layout: page title: Page not found permalink: /404.html image: /images/apologetic-logo.png description: | Pupper is sorry. He could not fetch the requested page. ---


Sri Maruthi Pharma in Bangalore is one of the leading businesses in Surgical
Equipment Dealers. Also known for Surgical Equipment Dealers, Pharmaceutical
Product Distributors, Medical Equipment Dealers, Pharmaceutical Distributors, Surgical Item Dealers,
Medicine Distributors, Medical Product Dealers, Generic Medicine Wholesalers and much more.
SMP or Sri Maruthi Pharma are dealers in:
Chemists
Surgical Equipment Dealers
Pharmaceutical Product Distributors
Medical Equipment Dealers
Pharmaceutical Distributors
Pharmaceutical Product Manufacturers
Medicine Wholesalers
Surgical Face Mask Dealers
N95 Face Mask Dealers
Medicine Distributors
Generic Medicine Distributors
Pharmaceutical Product Wholesalers and much more


I grew up in the distant land of Orem, UT. When I was 11, I started working for guy in my ward who owned a landscaping company. I went to Mountain View High School. I played the clarinet and saxophone in the band. I graduated from high school with my associates degree.
I served my mission in the Madagascar, Antananarivo mission from 2012 to 2014 (no it is nothing like the movie). I served in 5 different areas and really grew in my testimony and developed many friendships.
After high school, I went to a semester at Utah State before leaving on my mission. I began as a mechanical engineering major, but ended up switching to geology. I developed a really strong friendship with all my roommates. It was that first semester that I met my wife who was the ward choir director. After our missions we ended up in the same ward again and Dr. Ames's brother was our bishop. We got married in August of 2016. Every summer prior to getting married, I was an EFY counselor which was an amazing opportunity. I graduated in December 2016 and took a year off from school while my wife finished up her degree.
Growing up in Orem I always wanted to go to BYU. I've been a die-hard BYU fan my whole life (my roommates at USU never appreciated that I would wear my BYU attire whenever BYU played Utah State in anything). My brothers and I have a tradition of going to 1 road football game every year. I got admitted to grad school in 2018 and began my research that summer. Last summer I worked for a mining company in Eureka collecting soil samples. I am currently finishing my thesis and should defend at the end of this month.
I enjoy many different things. I love just about every sport, though I especially enjoy basketball, football, mountain biking, and disc golf. I also like to cook/bake, especially dessert which can be both a good and bad thing.


Countries, Calories and
Life Expectancy
CS 3300 Project Two
View Countries Seperately
Pin Card
View Countries Together
Select All
Invert Selection
PPP
LE
CAL


[gecode-users] Passing information to the master() function
Christian Schulte
cschulte at kth.se
Fri Oct 4 11:07:15 CEST 2013
Hi Kish,
Well, you get access to the master space: remember the master() function is
called on the _master_ space. That should be sufficient, or?
Cheers
Christian
--
Christian Schulte, Professor of Computer Science, KTH,
www.ict.kth.se/~cschulte/
-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Kish Shen
Sent: Thursday, October 03, 2013 7:35 PM
To: cschulte at kth.se
Cc: users at gecode.org
Subject: Re: [gecode-users] Passing information to the master() function
Hi Christian,
On 03/10/2013 09:51, Christian Schulte wrote:
> Hi Kish,
>
> Sorry for missing this.
>
> If you want to post the constraint then you would have to store the
> y-variables at someplace such that the master() function (you would
> have to re-define it) can access y.
>
Thanks for your reply. Am I correct in thinking that the restart search
facilities do not provide any way of passing extra current information from
the search back to the master() (for DFS; I guess I can (ab)use the
constrain() function in my case, as what I want to pass back is a
constraint, by changing the DFS search to BAB)?
Naively (because I don't know the details of Gecode), it seems to me that
providing the user with access to the master space during the search will
allow a simple way of passing information to the master space. I can see
that being useful if the user want to do things that depends on the state of
the search when restarting a search/finding a new solution.
> The second option is more meaningful: I think restricting restart to a
> single solution does not hurt.
I am a little reluctant to do this, as this does not fit that well with how
I intend to provide the functionality in ECLiPSe, as I want to add restart
and no-goods as extra options to gfd's search routine, i.e. not as different
search methods.
Cheers,
Kish
_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list


Feature: Project Create XML API
In order to create projects
As a device or client application using the XML REST interface
I want to make POST requests to the /projects URL
Scenario: Create Project with all fields that a client may define
When I send an XML POST to /projects and HTTP header: Accept=application/xml and post body:
"""
<project>
<name>Awesome</name>
<notes>super cool nifty</notes>
<complete >false</complete>
</project>
"""
And I get a 201 (created) status result
And a Project instance with name="Awesome" exists on the server
Then I get an 'application/xml' response


Regular web pages can use the XMLHttpRequest object to send and receive data from remote servers, but they're limited by the same origin policy (and since Chrome 73 content scripts are also subject to the same restrictions as the web page they are injected into). Extensions aren't so limited - a script executing in an extension's origin can talk to remote servers outside of its origin, as long as the extension requests cross-origin permissions.
Each running extension exists within its own separate security origin.
Without requesting additional privileges, the extension can use
XMLHttpRequest to get resources within its installation. For example, if
an extension contains a JSON configuration file called config.json
,
in a config_resources
folder, the extension can retrieve the
file's contents like this:
var xhr = new XMLHttpRequest(); xhr.onreadystatechange = handleStateChange; // Implemented elsewhere. xhr.open("GET", chrome.extension.getURL('/config_resources/config.json'), true); xhr.send();
If the extension attempts to use a security origin other than itself, say https://www.google.com, the browser disallows it unless the extension has requested the appropriate cross-origin permissions.
By adding hosts or host match patterns (or both) to the permissions section of the manifest file, the extension can request access to remote servers outside of its origin.
{ "name": "My extension", ... "permissions": [ "https://www.google.com/" ], ... }
Cross-origin permission values can be fully qualified host names, like these:
Or they can be match patterns, like these:
A match pattern of "https://*/" allows HTTPS access to all reachable domains. Note that here, match patterns are similar to content script match patterns, but any path information following the host is ignored.
Also note that access is granted both by host and by scheme. If an extension wants both secure and non-secure HTTP access to a given host or set of hosts, it must declare the permissions separately:
"permissions": [ "http://www.google.com/", "https://www.google.com/" ]
When using resources retrieved via XMLHttpRequest, your background page should be careful not to fall victim to cross-site scripting. Specifically, avoid using dangerous APIs such as the below:
var xhr = new XMLHttpRequest(); xhr.open("GET", "https://api.example.com/data.json", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { // WARNING! Might be evaluating an evil script! var resp = eval("(" + xhr.responseText + ")"); ... } } xhr.send();
var xhr = new XMLHttpRequest(); xhr.open("GET", "https://api.example.com/data.json", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { // WARNING! Might be injecting a malicious script! document.getElementById("resp").innerHTML = xhr.responseText; ... } } xhr.send();
Instead, prefer safer APIs that do not run scripts:
var xhr = new XMLHttpRequest(); xhr.open("GET", "https://api.example.com/data.json", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { // JSON.parse does not evaluate the attacker's scripts. var resp = JSON.parse(xhr.responseText); } } xhr.send();
var xhr = new XMLHttpRequest(); xhr.open("GET", "https://api.example.com/data.json", true); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { // innerText does not let the attacker inject HTML elements. document.getElementById("resp").innerText = xhr.responseText; } } xhr.send();
When performing cross-origin requests on behalf of a content script, be careful to guard against a malicious webpage that might try to impersonate a content script. In particular, do not allow content scripts to request an arbitrary URL.
Consider an example where an extension performs a cross-origin request to let a content script discover the price of an item. One (insecure) approach would be to have the content script specify the exact resource to be fetched by the background page.
chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { if (request.contentScriptQuery == 'fetchUrl') { // WARNING: SECURITY PROBLEM - a malicious webpage may abuse // the message handler to get access to arbitrary cross-origin // resources. fetch(request.url) .then(response => response.text()) .then(text => sendResponse(text)) .catch(error => ...) return true; // Will respond asynchronously. } });
chrome.runtime.sendMessage( {contentScriptQuery: 'fetchUrl', url: 'https://another-site.com/price-query?itemId=' + encodeURIComponent(request.itemId)}, response => parsePrice(response.text()));
In the approach above, the content script can ask the extension to fetch any URL that the extension has access to. A malicious website may be able to forge such messages and trick the extension into giving access to cross-origin resources.
Instead, design message handlers that limit the resources that can be fetched.
Below, only the itemId
is provided by the content script, and not
the full URL.
chrome.runtime.onMessage.addListener( function(request, sender, sendResponse) { if (request.contentScriptQuery == 'queryPrice') { var url = 'https://another-site.com/price-query?itemId=' + encodeURIComponent(request.itemId); fetch(url) .then(response => response.text()) .then(text => parsePrice(text)) .then(price => sendResponse(price)) .catch(error => ...) return true; // Will respond asynchronously. } });
chrome.runtime.sendMessage( {contentScriptQuery: 'queryPrice', itemId: 12345}, price => ...);
Additionally, be especially careful of resources retrieved via HTTP. If your extension is used on a hostile network, an network attacker (aka a "man-in-the-middle") could modify the response and, potentially, attack your extension. Instead, prefer HTTPS whenever possible.
If you modify the default Content
Security Policy for apps or extensions by adding a
content_security_policy
attribute to your manifest, you'll need to
ensure that any hosts to which you'd like to connect are allowed. While the
default policy doesn't restrict connections to hosts, be careful when explicitly
adding either the connect-src
or default-src
directives.


I've noticed that acceptance of a new software module or package for developers in the Open Source/Free Software world is greatly affected by the availability of a good tutorial. I mean, it seems obvious, doesn't it? But I've also noticed that the original author of a project rarely writes a good tutorial.
Well, I'm going to try it anyway. Here's my first version:
PollyReports is a small, light module providing a simple way to generate reports from databases using Python. It is designed for use with Reportlab, and a basic understanding of that package will help a great deal in using PollyReports.
The traditional way to get started with a new language is a "Hello, World" program; while PollyReports is hardly a language, we'll begin the same way:
Running this script results in a PDF file, the upper-left corner of which looks like this:
The script begins by importing everything from PollyReports; all we actually needed this time was Report, Band, and Element, but PollyReports is pretty clean so I elected to import all of it.
Next we import Canvas from reportlab.pdfgen.canvas; for this simple example, and in fact for many useful programs, that's all we need.
Lines 4-6 define our data source. Rather than querying a database, I'm just providing the data for this example in literal format.
Lines 8-14 instantiate our Report object. We pass in the data variable as the datasource, and define the detail band as a Band object. Band objects, in turn, are provided with a list of Element objects when they are instantiated. These Element objects define what data to print, what font to print it in, and where, relative to the upper left corner of the Band, the data is to be printed. In this example, both Elements use the key parameter to define what data to print from each row of data; since the data source is a list of tuples, the keys must be integer values.
Line 16 allocates a Canvas, which is passed to the Report's generate() method on line 17. Line 18 completes the cycle, saving the canvas data to the file named on line 16.
The generate() method of the Report object iterates through the data source. For each row of data, the detail band iterates through its list of Elements, generating a sort of a view of the detail band. This view is not printed, not yet anyway; first, the Report.generate() method verifies if there is enough room on the current page for the view to print. If there is, it is added to the page (we say "rendered") and the loop starts over with the next record, if any.
When Report.generate() is called, there is no valid page, so the first detail band does not fit and a new page (the first page) must be created.
For the rest of this tutorial, I'll focus on reproducing an earlier version of the testpolly.py script which is included with the source code distribution. This script depends on the testdata.py module, which contains a sample datasource in literal format, much like the pocket-sized version above.
The testdata.py data source consists of a list of dict objects, where each dict object represents a row of data. Each dict in the list has three keys associated with it: "name", "phone", and "amount". The last item, amount, is a simple integer number which I will use to demonstrate creating subtotals and grand totals.
Here's our first shot at testpolly.py, called sample02.py:
Again, we have imported Reportlab's Canvas and all the goodies in PollyReports. The third line imports our faux dataset from testdata.py.
On line 5 we instantiate the Report. This time, just to show that I can, I have omitted the detail band from the object instantiation; instead, I assign it to the like-named attribute of the new Report object on lines 6-10. Our detail band consists of the name and amount fields, the name printed 1/2 inch (36 points) from the left edge of the page, and the amount printed 400 points from the left edge.
Since the data source is a list of dict objects rather than tuples, the key values used in the Element declarations are strings rather than integers.
Note on line 9 the extra named parameter align = "right". This indicates to PollyReports that the Element should be printed aligned to the right; thus, the amount will extend to the left of (400, 0) rather than to the right.
Line 12 creates our Canvas object. This time, the page size is defined as 11 x 8.5 inches (given 72 points to the inch, of course). Reportlab has a pagesizes module that could be used for this if you like; please consult the Reportlab documentation for more information.
As before, the last two lines generate the output and saves it. The report is six pages long; here's the upper-left corner of it:
Let's dress it up a little bit. Rather than reprint the entire script, I'll just show the part that needs to be added after line 9 in sample02.py:
There are three Element objects and one Rule declared in the page header. Each of the Element objects uses the text = ... parameter (rather than the key = ... parameter) to indicate what value the Element will have. The text parameter is used whenever you want to print literal text, i.e. a label.
The Rule object is a new feature. A Rule is an Element-like object that renders a horizontal line, starting at the given position, extending the given distance to the right, having the given thickness. The default thickness is one point, if it isn't given.
The page footer has two Elements, a standard text label and an Element using the sysvar = ... parameter. The sysvar parameter gives you access to attributes of the top-level Report object; at present, the only practical reason to need this is to access the page number, which is exactly what is being done here. The page number Element also contains the format parameter, which is used to pass a formatting function into the Element. This function is used to convert the data value into a printable text string; if not given, the default is to use the built-in Python str function. Here, we're using a lambda function to dress up the page number for printing.
Run the new script and you'll get this:
And here's the bottom of the page, showing the page footer:
Printing out the data in the records is all well and good, but what we really want to see here are some totals, right? Let's start with a grand total band, also called a report footer. Again, I'll show only the part you need to add; just put it after the code in the last section:
Here we have a Rule, which has previously been explained, as well as a standard text-type Element identifying this as the "Grand Total". The interesting bit is the third item, a SumElement.
A SumElement, which really only works in group footers (described below) and the report footer, automatically adds up its own value until you print it, at which time the value is reset to zero. So, a SumElement in the report footer will sum up its value and print it at the very end of the report. This particular SumElement sums the "amount" field from our pseudo-database.
The last Element has a null string text parameter; the purpose of this is to take up space, so that the report footer is guaranteed not to be too close to the page footer.
Here's the report footer as it prints out on the last page of the report:
So, imagine for the moment that we want to break this list up alphabetically. Don't ask me why... we just do. Here's how you add a group header band which will print at the beginning of each "group" of rows:
Again, we have a Rule to draw a line on the page; this one will be at the bottom of the band. We have an Element, to print the first letter of the "name" field. Here, we are using the getvalue = ... parameter, to define a function to "compute" the data. The function referenced by getvalue receives a single parameter, which is the current row. For a group header, the "current row" is the first row of the new group (which has not yet printed). We're also using format = ... in the Element to dress up the value a bit.
Line 7, above, shows a critical bit for a group header: how the Report knows that the row has changed. Each group header band (and group footer band, for that matter) has its own "value," and when that value changes, the band is printed. Unlike Elements, a Band may only use the key or getvalue parameters to extract its value. (At present, I can't think of any reason to allow text or sysvar parameters.)
A Report may have more than one group header band (this is why they are represented as a list). If a group header band is deemed to have changed, all higher-level (i.e. earlier in the list) group headers are also reprinted, even if they haven't "changed" per se.
Here's what the group header looks like printed:
By now, this should seem old hat. A group footer band combines the techniques shown above for the report footer and group header bands. Here's the new code:
The only new feature shown here is on line 13: the newpageafter parameter. If true, newpageafter indicates that a new page should be forced after this band is printed. There is also a newpagebefore parameter, indicating that the band should always be printed on a new page. Neither newpagebefore nor newpageafter apply to detail bands, page headers, or page footers, and newpageafter also does not apply to the report footer.
It would be nice to be able to indicate to the user that his or her report is being processed. Most programs make use of a progress bar or other indicator to show that everything is still working. Other report generators use complex event systems to arrange this; PollyReports does it all with Element.onrender.
There are two different ways most developers would choose to indicate progress: by counting rows and by counting pages. Here's how we count pages. First, add this to the top of the script:
Next, change one of the page header Elements to include a call to this function:
All we've changed here is the addition of the onrender = pagecount parameter to the first Element. It would be fine to add this to any one of the Elements in the page header.
Finally, change the last part so it reads like this:
When you run this script, you'll see the following in your terminal window:
Counting rows works much the same way, and is left as an exercise for the reader...
Well, that's it. If you've hung in this long, you should have a pretty good idea how to create reports with PollyReports. Please submit questions or comments to me at<EMAIL_ADDRESS>For your convenience, you may download the source files detailed above in a single zip file here: pollyreportstutorial.zip


Magister Dieter:
These memories bring me such pain...
Well, you'll find out soon enough so I might as well tell you.
I stole the books. Master crossed the line that day. I was enraged when he told me I should consider being a farmer... I stole the books that night to spite him.
I hid the books in a very safe place.
I wanted to get Master into trouble... But it got complicated. Master flew into such a rage that, fearing for my life, I went to retrieve the books but they were gone!
Ask what happened afterwards


Npt documentation.
Reference: ANSI Common Lisp npt
Next: 2. Compilation
Installation is done by compiling the source code with a C compiler. There are three ways to compile the source code: by script, by autoconf, and by hand. Another page shows how to compile manually. If the method on this page doesn’t work, please see that page, 2. Compilation.
First, download the source from github.
$ git clone https://github.com/nptcl/npt.git
$ cd npt
Compilation scripts for FreeBSD and Linux are available.
To compile on FreeBSD, execute the following steps
$ ./freebsd_release.sh
To compile on Linux, install gcc
and gmake
beforehand.
Execute the following steps
$ ./linux_release.sh
In both cases, the executable file npt
is created.
Compilation batch file for Windows are available. It has been tested to work with Visual Studio 2017.
In order to compile, the following commands must be available.
CL.EXE
LINK.EXE
NMAKE.EXE
Execute the following steps
> windows_release.bat
The executable file npt
is created. In some cases it may not work.
If this fails, check 2. Compilation and compile manually.
To compile with autoconf
, run bootstrap.sh
to generate file configure
.
$ ./bootstrap.sh
After the file is generated, run configure
.
$ ./configure
If you want to set the installation location, specify --prefix
.
$ ./configure --prefix=/usr/local
Run make
to compile.
$ make
$ make install
An executable file named npt
is created when make
is executed.
Execute make install
and the executable file npt
is copied to --prefix
.
If you have scripted compilation, copy the executable file npt
to the location of your choice and the installation is complete. For example
$ ./freebsd_release.sh
...
$ cp -i npt /usr/local/bin/.
In the case of configure
, make install
copies npt
to the location specified by --prefix
.
The installation copies only one file, the executable npt
.
If you want to uninstall, just delete the npt
file.
npt
exampleWhen npt
is launched, the prompt changes to *
.
$ npt
*
Enter a Lisp expression and you will get the answer.
* (+ 10 20 30)
60
*
To exit, press Ctrl+D or execute (exit)
.
* (exit)
$
To load a file, specify --load
or --script
as an argument.
$ cat > aaa.lisp
(format t "Hello~%")
^D
$ npt --script aaa.lisp
Hello
$ npt --load aaa.lisp
Hello
* (quit)
$
See --help
for details.
$ npt --help


Call:+6789-875-2235
<EMAIL_ADDRESS>Home
Home 1
Home 2
Home 3
About
Services
Services
Services Details
Projects
Projects 1
Projects 2
Projects 3
Projects 4
Project Details 1
Project Details 2
Pages
Team
Pricing
Faqs
Process
Product external affiliate
Shop catgrid filter full
Shop filter full
Shop left sidebar
404 page
Features
Gallery Style
Blog Style
Testimonials
Blog
Blog Post 1
Blog Post 2
Blog Details
Contact
Our Latest Work
Two Columns Grid
All Project
commercial
interior
residential
hospital
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
indoor furniture work
view project
1
2
3
...
12


{% if
not aboutYou.saveAndcontinue.length and not aboutYou.saveAndMenu.length
or not appointee.saveAndcontinue.length and not appointee.saveAndMenu.length
or not contactDetails.saveAndcontinue.length and not contactDetails.saveAndMenu.length
or not contactPref.saveAndcontinue.length and not contactPref.saveAndMenu.length
or not bankDetails.saveAndcontinue.length and not bankDetails.saveAndMenu.length
or not currentWhereabouts.saveAndcontinue.length and not currentWhereabouts.saveAndMenu.length
or not nationality.saveAndcontinue.length and not nationality.saveAndMenu.length
or not paymentsFromAbroad.saveAndcontinue.length and not paymentsFromAbroad.saveAndMenu.length
or not mainHcp.saveAndcontinue.length and not mainHcp.saveAndMenu.length
%}
About You
{% if not aboutYou.saveAndcontinue.length and not aboutYou.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.aboutYou,"aboutYou",page) }}
{% else %}
{{ elements.completedQuestion(question.aboutYou,"aboutYou",page) }}
{% endif %}
{% if not appointee.saveAndcontinue.length and not appointee.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.appointee,"appointee",page) }}
{% else %}
{{ elements.completedQuestion(question.appointee,"appointee",page) }}
{% endif %}
{% if not contactDetails.saveAndcontinue.length and not contactDetails.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.contactDetails,"contactDetails",page) }}
{% else %}
{{ elements.completedQuestion(question.contactDetails,"contactDetails",page) }}
{% endif %}
{% if not contactPref.saveAndcontinue.length and not contactPref.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.contactPref,"contactPref",page) }}
{% else %}
{{ elements.completedQuestion(question.contactPref,"contactPref",page) }}
{% endif %}
{% if not bankDetails.saveAndcontinue.length and not bankDetails.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.bankDetails,"bankDetails",page) }}
{% else %}
{{ elements.completedQuestion(question.bankDetails,"bankDetails",page) }}
{% endif %}
{% if not nationality.saveAndcontinue.length and not nationality.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.nationality,"nationality",page) }}
{% else %}
{{ elements.completedQuestion(question.nationality,"nationality",page) }}
{% endif %}
{% if not currentWhereabouts.saveAndcontinue.length and not currentWhereabouts.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.currentWhereabouts,"currentWhereabouts",page) }}
{% else %}
{{ elements.completedQuestion(question.currentWhereabouts,"currentWhereabouts",page) }}
{% endif %}
{% if not paymentsFromAbroad.saveAndcontinue.length and not paymentsFromAbroad.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.paymentsFromAbroad,"paymentsFromAbroad",page) }}
{% else %}
{{ elements.completedQuestion(question.paymentsFromAbroad,"paymentsFromAbroad",page) }}
{% endif %}
{% if not mainHcp.saveAndcontinue.length and not mainHcp.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.mainHcp,"mainHcp",page) }}
{% else %}
{{ elements.completedQuestion(question.mainHcp,"mainHcp",page) }}
{% endif %}
{% else %}
{{ elements.completedSection(question.aboutYouSection,"aboutYou",page) }}
{% endif %}
{% if
not aboutYou.saveAndcontinue.length and not aboutYou.saveAndMenu.length
or not appointee.saveAndcontinue.length and not appointee.saveAndMenu.length
or not contactDetails.saveAndcontinue.length and not contactDetails.saveAndMenu.length
or not contactPref.saveAndcontinue.length and not contactPref.saveAndMenu.length
or not bankDetails.saveAndcontinue.length and not bankDetails.saveAndMenu.length
or not currentWhereabouts.saveAndcontinue.length and not currentWhereabouts.saveAndMenu.length
or not nationality.saveAndcontinue.length and not nationality.saveAndMenu.length
or not paymentsFromAbroad.saveAndcontinue.length and not paymentsFromAbroad.saveAndMenu.length
or not mainHcp.saveAndcontinue.length and not mainHcp.saveAndMenu.length
%}
{{ elements.emptySection(question.conditionsSection,"healthcareprofessional",page) }}
{% elseif
not healthcareprofessional.saveAndcontinue.length and not healthcareprofessional.saveAndMenu.length
or not conditionDetails.saveAndcontinue.length and not conditionDetails.saveAndMenu.length
or not medications.saveAndcontinue.length and not medications.saveAndMenu.length
or not treatments.saveAndcontinue.length and not treatments.saveAndMenu.length
or not sideEffects.saveAndcontinue.length and not sideEffects.saveAndMenu.length
or not monitoringCondition.saveAndcontinue.length and not monitoringCondition.saveAndMenu.length
or not submitEvidence.saveAndcontinue.length and not submitEvidence.saveAndMenu.length
%}
You and your condition
{% if not healthcareprofessional.saveAndcontinue.length and not healthcareprofessional.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.healthcareprofessional,"healthcareprofessional",page) }}
{% else %}
{{ elements.completedQuestion(question.healthcareprofessional,"healthcareprofessional",page) }}
{% endif %}
{% if not conditionDetails.saveAndcontinue.length and not conditionDetails.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.conditionDetails,"conditionDetails",page) }}
{% else %}
{{ elements.completedQuestion(question.conditionDetails,"conditionDetails",page) }}
{% endif %}
{% if not medications.saveAndcontinue.length and not medications.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.medications,"medications",page) }}
{% else %}
{{ elements.completedQuestion(question.medications,"medications",page) }}
{% endif %}
{% if not treatments.saveAndcontinue.length and not treatments.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.treatments,"treatments",page) }}
{% else %}
{{ elements.completedQuestion(question.treatments,"treatments",page) }}
{% endif %}
{% if not sideEffects.saveAndcontinue.length and not sideEffects.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.sideEffects,"sideEffects",page) }}
{% else %}
{{ elements.completedQuestion(question.sideEffects,"sideEffects",page) }}
{% endif %}
{% if not monitoringCondition.saveAndcontinue.length and not monitoringCondition.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.monitoringCondition,"monitoringCondition",page) }}
{% else %}
{{ elements.completedQuestion(question.monitoringCondition,"monitoringCondition",page) }}
{% endif %}
{% if not submitEvidence.saveAndcontinue.length and not submitEvidence.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.submitEvidence,"submitEvidence",page) }}
{% else %}
{{ elements.completedQuestion(question.submitEvidence,"submitEvidence",page) }}
{% endif %}
{% else %}
{{ elements.completedSection(question.conditionsSection,"healthcareprofessional",page) }}
{% endif %}
{% if
not healthcareprofessional.saveAndcontinue.length and not healthcareprofessional.saveAndMenu.length
or not conditionDetails.saveAndcontinue.length and not conditionDetails.saveAndMenu.length
or not medications.saveAndcontinue.length and not medications.saveAndMenu.length
or not treatments.saveAndcontinue.length and not treatments.saveAndMenu.length
or not sideEffects.saveAndcontinue.length and not sideEffects.saveAndMenu.length
or not monitoringCondition.saveAndcontinue.length and not monitoringCondition.saveAndMenu.length
or not submitEvidence.saveAndcontinue.length and not submitEvidence.saveAndMenu.length
%}
{{ elements.emptySection(question.homeSection,"specialAids",page) }}
{% elseif
not specialAids.saveAndcontinue.length and not specialAids.saveAndMenu.length
or not sight.saveAndcontinue.length and not sight.saveAndMenu.length
or not speech.saveAndcontinue.length and not speech.saveAndMenu.length
or not hearing.saveAndcontinue.length and not hearing.saveAndMenu.length
or not gettingUp.saveAndcontinue.length and not gettingUp.saveAndMenu.length
%}
You and your condition
{% if not specialAids.saveAndcontinue.length and not specialAids.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.specialAids,"specialAids",page) }}
{% else %}
{{ elements.completedQuestion(question.specialAids,"specialAids",page) }}
{% endif %}
{% if not sight.saveAndcontinue.length and not sight.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.sight,"sight",page) }}
{% else %}
{{ elements.completedQuestion(question.sight,"sight",page) }}
{% endif %}
{% if not speech.saveAndcontinue.length and not speech.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.speech,"speech",page) }}
{% else %}
{{ elements.completedQuestion(question.speech,"speech",page) }}
{% endif %}
{% if not hearing.saveAndcontinue.length and not hearing.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.hearing,"hearing",page) }}
{% else %}
{{ elements.completedQuestion(question.hearing,"hearing",page) }}
{% endif %}
{% if not gettingUp.saveAndcontinue.length and not gettingUp.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.gettingUp,"gettingUp",page) }}
{% else %}
{{ elements.completedQuestion(question.gettingUp,"gettingUp",page) }}
{% endif %}
{% else %}
{{ elements.completedSection(question.homeSection,"specialAids",page) }}
{% endif %}
{% if
not specialAids.saveAndcontinue.length and not specialAids.saveAndMenu.length
or not sight.saveAndcontinue.length and not sight.saveAndMenu.length
or not speech.saveAndcontinue.length and not speech.saveAndMenu.length
or not hearing.saveAndcontinue.length and not hearing.saveAndMenu.length
or not gettingUp.saveAndcontinue.length and not gettingUp.saveAndMenu.length
%}
{{ elements.emptySection(question.careSection,"toilet",page) }}
{% elseif
not toilet.saveAndcontinue.length and not toilet.saveAndMenu.length
or not washing.saveAndcontinue.length and not washing.saveAndMenu.length
or not gettingDressed.saveAndcontinue.length and not gettingDressed.saveAndMenu.length
or not hotMeal.saveAndcontinue.length and not hotMeal.saveAndMenu.length
or not eatingAndDrinking.saveAndcontinue.length and not eatingAndDrinking.saveAndMenu.length %}
Caring for yourself
{% if not toilet.saveAndcontinue.length and not toilet.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.toilet,"toilet",page) }}
{% else %}
{{ elements.completedQuestion(question.toilet,"toilet",page) }}
{% endif %}
{% if not washing.saveAndcontinue.length and not washing.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.washing,"washing",page) }}
{% else %}
{{ elements.completedQuestion(question.washing,"washing",page) }}
{% endif %}
{% if not gettingDressed.saveAndcontinue.length and not gettingDressed.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.gettingDressed,"gettingDressed",page) }}
{% else %}
{{ elements.completedQuestion(question.gettingDressed,"gettingDressed",page) }}
{% endif %}
{% if not hotMeal.saveAndcontinue.length and not hotMeal.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.hotMeal,"hotMeal",page) }}
{% else %}
{{ elements.completedQuestion(question.hotMeal,"hotMeal",page) }}
{% endif %}
{% if not eatingAndDrinking.saveAndcontinue.length and not eatingAndDrinking.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.eatingAndDrinking,"eatingAndDrinking",page) }}
{% else %}
{{ elements.completedQuestion(question.eatingAndDrinking,"eatingAndDrinking",page) }}
{% endif %}
{% else %}
{{ elements.completedSection (question.careSection,"toilet",page)}}
{% endif %}
{% if
not toilet.saveAndcontinue.length and not toilet.saveAndMenu.length
or not washing.saveAndcontinue.length and not washing.saveAndMenu.length
or not gettingDressed.saveAndcontinue.length and not gettingDressed.saveAndMenu.length
or not hotMeal.saveAndcontinue.length and not hotMeal.saveAndMenu.length
or not eatingAndDrinking.saveAndcontinue.length and not eatingAndDrinking.saveAndMenu.length
%}
{{ elements.emptySection (question.leavingSection,"gettingOut",page) }}
{% elseif
not gettingOut.saveAndcontinue.length and not gettingOut.saveAndMenu.length
or not mixing.saveAndcontinue.length and not mixing.saveAndMenu.length
%}
Leaving your home
{% if not gettingOut.saveAndcontinue.length and not gettingOut.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.gettingOut,"gettingOut",page) }}
{% else %}
{{ elements.completedQuestion(question.gettingOut,"gettingOut",page) }}
{% endif %}
{% if not mixing.saveAndcontinue.length and not mixing.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.mixing,"mixing",page) }}
{% else %}
{{ elements.completedQuestion(question.mixing,"mixing",page) }}
{% endif %}
{% else %}
{{ elements.completedSection (question.leavingSection,"gettingOut",page) }}
{% endif %}
{% if
not gettingOut.saveAndcontinue.length and not gettingOut.saveAndMenu.length
or not mixing.saveAndcontinue.length and not mixing.saveAndMenu.length
%}
{{ elements.emptySection (question.senseSection,"localJourney",page) }}
{% elseif
not localJourney.saveAndcontinue.length and not localJourney.saveAndMenu.length
or not somewhereNeverBeenBefore.saveAndcontinue.length and not somewhereNeverBeenBefore.saveAndMenu.length
or not understanding.saveAndcontinue.length and not understanding.saveAndMenu.length
or not money.saveAndcontinue.length and not money.saveAndMenu.length
%}
Making sense of things
{% if not localJourney.saveAndcontinue.length and not localJourney.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.localJourney,"localJourney",page) }}
{% else %}
{{ elements.completedQuestion(question.localJourney,"localJourney",page) }}
{% endif %}
{% if not somewhereNeverBeenBefore.saveAndcontinue.length and not somewhereNeverBeenBefore.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.somewhereNeverBeenBefore,"somewhereNeverBeenBefore",page) }}
{% else %}
{{ elements.completedQuestion(question.somewhereNeverBeenBefore,"somewhereNeverBeenBefore",page) }}
{% endif %}
{% if not understanding.saveAndcontinue.length and not understanding.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.understanding,"understanding",page) }}
{% else %}
{{ elements.completedQuestion(question.understanding,"understanding",page) }}
{% endif %}
{% if not money.saveAndcontinue.length and not money.saveAndMenu.length %}
{{ elements.awaitingCompletion(question.money,"money",page) }}
{% else %}
{{ elements.completedQuestion(question.money,"money",page) }}
{% endif %}
{% else %}
{{ elements.completedSection (question.senseSection,"localJourney",page) }}
{% endif %}
{% if
not localJourney.saveAndcontinue.length and not localJourney.saveAndMenu.length
or not somewhereNeverBeenBefore.saveAndcontinue.length and not somewhereNeverBeenBefore.saveAndMenu.length
or not understanding.saveAndcontinue.length and not understanding.saveAndMenu.length
or not money.saveAndcontinue.length and not money.saveAndMenu.length
%}
{{ elements.emptySection (question.additionalSection,"additionalInfo",page) }}
{% elseif
not additionalInfo.saveAndcontinue.length and not additionalInfo.saveAndMenu.length
%}
Additional Information
{{ elements.awaitingCompletion(question.additionalInfo,"additionalInfo",page) }}
{% else %}
{{ elements.completedSection (question.additionalSection,"additionalInfo",page) }}
{% endif %}


I love agile business and experiments.
I'm an agile business designer from Helsinki, Finland. I help teams at startups and larger companies to succeed in rapidly changing business environment with help of lean principles, agile development and human insight.
They say a new hire is able to observe the processes, offering and interactions in a company from a view that hardly no one else can and ask to most challenging questions. Usually this advantage diminishes over time. But I've set myself a goal to maintain that skill every day.
How do you create great customer experiences? In most cases in IT projects sales is separated from delivery and you end up
delivering something else what was expected. That’s due to missing the hidden knowledge gained
in sales process.
We decided to fix this.
Each case is different. Each customer is different.
The goal of this role is not simply to offer fancy solution and methods in a nice looking format.
Well yes, that’s done also. But rather me and my fellows make sure we deliver what we say we
deliver with methods we say we use. There’s no transition between sales and delivery. I kickoff
the project and make sure everyone in a team understands the customer value proposition and communication
is transparent. Later, once that is assured and project runs smoothly I jump off to next case
and repeat.
This is how you make great customer experience!
The job was to create a functional design and logic of automatic payment calculation system from scratch. This was conducted by agile development methods with dozens of workshops each bringing incrementally added value for customer.
Communicate communicate communicate. We developed an extremely open communication culture between the client and us. We discussed the rationale of actions and behavior and discussed the hard things before they grew too large.
And the feedback we received- it was awesome. But that wasn’t the case in the beginning. We did all kinds of classic mistakes in the beginning, but we managed to get things in order and change the course of the boat.
Inspiring almost twenty digital craftsmen and women in data engineering competence area. We call ourselves Data Artisans.
This is tough post to perform well. And to perform well you need great people skills. In this task I have to solve extremely complex non trivial people related problems and act as trusted advisor. You know when you have excelled yourself when people in your tribe (i.e. team) grow in their career, they find purpose for the work and they come to ask help from you.
One of the main responsibilities of this role is to lead growth discussion twice a year. I took this a step further and we kind of ditched the formal growth discussion and started having personalised ongoing discussion. Each tribe member is different, they are individuals. They have unique skills, needs and problems, and my job is to listen and analyse what each member in my tribe wants to do for work, what they like, what they don’t like, how they work, what their values are, what their needs are and so on and so on. It’s kind of being an account manager, but for your people in your team.
Roughly this role is about 40% trust, 30% needs, 20% competence development and 10% salary.
I was asked to jump in to a challenging situation. Client satisfaction was low, overall atmosphere tense and project had already been rolling few months with not too many outcomes.
First thing I noticed was the amazing skills of the team. Especially technical development skills. Seemed we just weren’t focusing on the right things. It was also amazing how clearly the challenges appeared for an outsider. We set a clear target, refined our roles and increased communication. I went a bit over a usual scrum master responsibilities - like everyone else with their own roles - but it paid off. Few months later we started receiving great feedback.
Scroll down to the footer of this page to understand why :)
This was a continuation to previos market research project. In this role I was a Scrum Master for agile development project of market research analysis tool and data platform.
How to effectively utilise market research data with enhanced data infrastructure and user experience in completely new market research tool. The project started as purely a data migration project but grew into a combined data and design driven project.
Within two months with UX/UI designer and two developers we created an Expert Search website for Finpro (Team Finland nowadays). I've great memories and learning experiences from this project. One of them includes the importance of communication and transparency of work. Read more from here.
How to effectively utilise market research data with enhanced data infrastructure and user experience in completely new market research tool. Short and long term goals were set for data migration and market research tool development. Identified key success factors for the project and estimated the project duration. As an outcome client was extremely happy with the results and asked us to do an offer for further development, which we did and sold successfully to the client. The project started as purely a data migration project but grew into a combined data and design driven project.
In this gig we set some sort of record - from scracth to production in 5 weeks. And this included difficult integrations and environment setup. Basically there wasn't a day lose. I had multi role of agile project lead and service design responsibility in addition to facilitationn of Scrum ceremonies. I don't prefer fixed fee, fixed scope, fixed schedule projects (although it is a definition of a project), but I must say they do set a great challenge to deliver everything in time and budget. So I guess I can call that a successful project.
I was an advisor in process improvement project. This role included both data-driven and interview based current state analysis. These analysis revealed a need for a new set of custom reporting dashboards. Lean and Six Sigma methodologies were used to improve process. As an outcome we removed waste from the process, automated parts of the process, developed quality standards and new dashboard to monitor production efficiency.
It's a startup, so you really do every possible thing you can imagine. But what's better way to learn.
Lean startup -style entrepreneur creating cloud based service and resource management system.
"Thank you Jukka for being you. I admire your enthusiasm, good spirit, willingness to challenge the status quo and ability to ask good questions. Keep it up! I feel priviledged to have you as a colleague."
-- Saara Lehmuskoski


Loading…
SCORE:
PHRASES:
Quick Reviews
This flower shop is as amazing as Azure! I'm so happy.
I'm furious because I forgot to buy flowers for Valentine's Day!
I'm furious because I didn't get any flowers for Valentine's Day!
This is just an average review. Whatevs.


--- layout: post status: publish published: true title: One reason I am not confident about the Cubs getting into the playoffs. author: display_name: Corey Fineran login: Corey email<EMAIL_ADDRESS>url: '' author_login: Corey author_email<EMAIL_ADDRESS>wordpress_id: 1191 wordpress_url: http://ivyenvy.com/?p=1191 date: '2009-08-09 08:43:39 +0000' date_gmt: '2009-08-09 14:43:39 +0000' categories: - Broadcasters/Networks - Offense - The Cubs tags: - Bob Brenly - Ryan Theriot - Podcast Milton Bradley comments: - id: 344 author: J. Baxter Graf author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-09 16:33:29 +0000' date_gmt: '2009-08-09 22:33:29 +0000' content: The Bradley out at second really pissed me off, and Theriot trotting home pissed me off too. Last nights games was one of those games that leaves you mad at the cubs even though they won.  That's efficiency right there." - id: 347 author: Tim author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-09 20:26:37 +0000' date_gmt: '2009-08-10 02:26:37 +0000' content: This team clearly has their issues.. and I don't think anyone would dispute that.. when was the last time you did have confidence in the Cubs? - id: 348 author: Corey author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-09 20:33:49 +0000' date_gmt: '2009-08-10 02:33:49 +0000' content: When was the last time the Cubs gave me a reason to be confident? Not in my lifetime. - id: 349 author: J. Baxter Graf author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-09 21:38:32 +0000' date_gmt: '2009-08-10 03:38:32 +0000' content: "I think their biggest issue is how much they suck.\r\n\r\nBut seriously, I had confidence in them going into the playoffs last season and before the beginning of this season." - id: 351 author: Andy author_email<EMAIL_ADDRESS>author_url: http://ivyenvy.com date: '2009-08-10 06:17:21 +0000' date_gmt: '2009-08-10 12:17:21 +0000' content: That sounds a little dramatic, right? Weren't you confident in '03 at least? - id: 352 author: Corey author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-10 08:25:54 +0000' date_gmt: '2009-08-10 14:25:54 +0000' content: "No. I've never been completely confident in the Cubs. Ever. Seriously. \ I watched the '03 Cubs/Marlins series with Jacob when we lived in California. \ Ask him if I was confident.\r\n\r\nI'm guessing that the most confident I have ever been with the Cubs is 1989 going into the playoff series against the Giants. \ I was young and naive. " - id: 356 author: Tim author_email<EMAIL_ADDRESS>author_url: '' date: '2009-08-12 15:24:03 +0000' date_gmt: '2009-08-12 21:24:03 +0000' content: Isn't it hard to be a fan of a team you've never been confident in? - id: 357 author: Corey author_email<EMAIL_ADDRESS>author_url: http:// date: '2009-08-12 18:45:53 +0000' date_gmt: '2009-08-13 00:45:53 +0000' content: Confidence and rooting have nothing to do with eachother.  ---
In yesterday's podcast, we discussed the Cubs chances of winning the division or the wildcard. I said something to the effect that I didn't think the Cubs would make it in the playoffs unless they show some urgency. I believe it was Andy that asked me what that exactly means.
Showing a sense of urgency or hunger to win is not loafing it to second base on a hit off the wall and getting thrown out like Milton Bradley did. It is also not loafing it around third and barely scoring like Ryan Theriot did. This is precisely why I am not confident with this team. I can't think back to a team that showed such little effort or hustle. Do they still think this division is a cake-walk, even though it's August and they are not in first place?
It seems that every Cubs fan I've talked to in the last week is falling more in love with Bob Brenly and his willingness to publicly call these players out on their lack of effort. I think he's a good broadcaster and I can only hope that the next manager for the Chicago Cubs will demand that the players earn their inflated salaries.


Copyright © {{ site.title }} {{ site.time | date: '%Y' }} Theme Developed by {{site.author}} | from Hux & Scateu


{# Copyright (c) 2014 The Pycroft Authors. See the AUTHORS file. This file is part of the Pycroft project and licensed under the terms of the Apache License, Version 2.0. See the LICENSE file for details. #} {% macro form_actions(cancel_to, submit_text="Übernehmen", cancel_text="Abbrechen", show_cancel=true, show_submit=true) -%}


FREQUENTLY ASKED QUESTIONS
- Q. What event services do you offer?
- We offer everything you need for your next event, including event design, event management, event marketing, event catering, event entertainment, and all the other myriad services that help make every event we plan a huge success.
- Q. Do you charge separately for your various event services?
- Some of our services come standard, others are priced separately. In order to get an idea of what your event will cost, contact us to speak with one of our friendly event planners today. They can give you a free estimate based on your individual needs.


| Beef Burger | $9.00 | |
| Extra Burger | $9.00 |
Order total:
$0.00
Devliery:
$0.00
Total:
$0.00
Your cart is empty...


To the real Derpibooru
▦
Go to specific image #
Go
< Previous image
Faves:
0
Upvotes:
0
Score:
0
Downvotes:
0
Next image >
< Previous page
of
x
pages
go
Next page >
> ☰ Close menu
Random
x
Desktop
Keyboard shortcuts:
" > " for Next image or Next page in grid
" < " for Previous image or Previous page in grid
" { " to toggle the UI on and off
" } " to toggle the grid on and off
Mobile
Mobile shortcuts:
Swipe left for Next image
Swipe right for Previous image
Touch 3 fingers on the screen to toggle UI on and off
Options
History length:
5
10
20
25
30
40
50
Infinite
Open site in grid view:
Yes
No
Open site with safe filter by default:
Yes
No
Swipe sensitivity:
Less sensitive
More sensitive
Starting filter:
default
everything
18+ Dark
18+ R34
Custom
Number of images in grid view:
Save
About
This site was made by Vaser888
Description/Info
Filters
Comments
History
<
Page:
1
>
Site Options:
Options / Site info
Image sources:
View in derpibooru
View original source
Image info:
Uploaded by:
Description:
Image tags:
Random Image
Total possible images with your filters:
of
go
Derpibooru filter:
default
everything
18+ Dark
18+ R34
Custom
Minimum Score:
Minimum # of upvotes:
Minimum # of downvotes:
Artist:
Add
Search Specific Tags:
OR
Add
Images you have searched
(automatically deleted when page is refreshed or closed)


Welcome to the Silence map!!
Here you can post the quiet place around you like this:
Step 1: Record a noise somewhere around you
Step 2: Find on Google Street View the street where was your silence and take the geolocation code.
Step 3: Fill out the form.
You can also enjoy the silence around the world by you clicking on the differents markers displayed on the map.


| Sachin Nagal | Prateek | Anurag Keshri | Akash Jain |
Satisfaction
Learning
Friends
Recognition
Untold Benefits
We have taken so much from the SAP community its time to give it back in whatever way we can!
Share your experiences via blog!
Learn Share Inspire Repeat
Regular Monthly meetups something like #ChaiPeyCharcha
Virtual CodeJam
Any Other thoughts most welcome


Course materials for students of the 1st year of the Master ICE
ICE1-IDM: hack your own language
The course introduces the state-of-the-art tools and methods for developping domain-specific languages.
Lectures
Professor: Benoit Combemale
- Model-Driven (software) Engineering: Hack your Own Language!
- Domain-Specific Languages
- Model Management
- Model Execution
Textbooks
Labs
Professor: Benoit Combemale
The labs will consist in realizing by group of 2 the following tutorial. The evaluation will consist in a final demonstration on Thursday, Feb. 4th, 16h-18h.
Overall objectives of the labs
The main objective of this tutorial is to build your own state-machine language (aka. FSM, standing for Finite State Machine), including the design of the domain (i.e. concepts and relationships between them), and the developement of the associated tooling: a textual editor, a compiler (to Java code), and an interpreter.
With FSM, we expect to be able to model a state machine according to the textual syntax proposed in the following example, through a modern editor (e.g., syntax highlighting, autocompletion, validation rules and quick fixes, code folding…):
fsm door
state opened entry "open door"
state init closed entry "close door"
transition open closed -> opened [on]
transition close opened -> closed [off]
A model (e.g., door) conforming to your language (aka., FSM), can then be executed, either through a compilation (i.e. code generation) to a Java-based implementation, or through a direct interpretation (i.e., virtual machine).
For the execution, input events (e.g., on and off) that drive the execution can be injected through the console by the user.
The proposed FSM language to be designed and implemented is a simple automata. Automata are a core paradigm for MANY domain-specific languages used in practice, either for high level design (e.g., functional chains in systems engineering), analysis (e.g., termination, composability, etc.), or development (e.g., agent based simulations, reactive programming, etc.).
Part 1 - Domain modeling: definition of the Ecore metamodel for your language
The main objective of this part is to capture in an Ecore metamodel the concepts and relationships between them of the domain addressed by your language (i.e. the domain of state machine). You are expected to identify the required concepts to model the aforementionned example, and to reify them into language constructs, in the form of a metamodel defined with the metalanguage Ecore and the associated tooling (e.g., graphical editor), aka. Ecore tools.
Within your Eclipse RCP that includes EMF, Xtext and Xtend (e.g., the GEMOC Studio), create an Ecore Modeling Project. Give a proper name to your project (e.g., fr.ice.fsm.model) and your package (e.g., fsm).
From this point, you can start model your domain in the form of an object-oriented metamodel consisting of classes and relationships between them.
You may validate your metamodel by right click on your ecore model and Validate.
When this is done, you can generate the Java-based implementation of your domain model by opening the associated genmodel file, right click on the root element and Generate all
You may assess the expressivity of your metamodel (i.e., check if it well captures your domain, in your case meaning it supports the modeling of the proposed example) by opening the ecore metamodel, right clic on the concept of the root element of your expected model, and choose Create dynamic instance. Then you can create a model in a tree-based editor, and ensure your metamodel supports the expected model structure.
Part 2 - Textual modeling: definition of the Xtext editor for your language
The next step consists into going further than the tree-based editor by developing a modern textual editor. You will use Xtext for this purpose.
Create a new Xtext Project From Existing Ecore Models, select the genmodel file associated to your Ecore metamodel, and select the concept of the root element (i.e., the first model element that will be instantiated when you will create a new model).
Take care of properly filling-in the wizard. Then Xtext provides you a first version of a grammar for the textual syntax of your language.
You may need to add the Xtext nature to the project where is your Ecore metamodel to make sure the Xtext project can compile (right clic on the project, configure and add Xtext nature).
You can immediatly start a new eclipse from the current one (Run configuration… > Eclipse Application), create a new empty project and a blank file with the choosen extension. Eclipse will propose you to open it with the corresponding Xtext editor, and then you can use it according to the syntax proposed by the automatically generated grammar.
Modify your grammar to make sure you can model a state machine according to the syntax proposed in the initial example. You may also have a try to the following example :)
fsm door
state opened entry "open door"
state init closed entry "close door"
transition open closed -> opened [on]
transition close opened -> closed [off]
state broken entry "broken door"
transition b1 opened -> broken [warning]
transition b2 closed -> broken [warning]
Part 3 - Compilation: definition of the Xtend-based compiler for your language
Up to now, you identified the concepts of your language (which set its expressivity) and you implemented a textual editor to support the edition of conforming models (aka. programs). The next step is the ability of executing such models. For this purpose, there are two possibilities: by compilation (aka. code generation) to an executable implementation, or by interpretation (aka. virtual machine).
In this part of the tutorial, we ask you to complement your metamodel with the implementation of an Xtend-based compiler, following the design pattern visitor. In the case of FSM, such a compiler must generate a Java-based implementation of a given model (i.e., a state machine) according to the design pattern state.
Votre compilateur peut avoir comme point d’entrée la méthode doGenerate de la classe fr.ice.fsm.generator.FsmGenerator pour être appelé à chaque sauvegarde d’un modèle édité avec l’éditeur textuel développé avec Xtext dans la partie précédente.
Part 4 (optional) - Interpretation: definition of the Xtend-based interpreter for your language
In this part, we ask you to develop a new visitor that will interpret a given conforming model instead of generating an implementation in a third party language (i.e. Java in the case of the compiler developped in the previous part). Similarly to a compiler, an interpreter goes through the asbtract syntax tree of a given model. Instead of generating the corresponding code, it interprets the model element in terms of changes in a model state (aka., context). This is captured in an additional design pattern called interpreter that can be used to complement the design pattern visitor.
Further material
- The Refcardz on EMF
- Documentations of Xtext and Xtend
- The GEMOC Studio (incl., EMF, Xtext, Xtend, Sirius…)


Running List Of Interesting Articles, Tools and Ideas… as I Explore
Them
Translation if you read this today (3/21/2021) it will be exceedingly
short… because it’s just gonna accumulate entries as I learn of them…
Running List Of Interesting Articles, Tools and Ideas… as I
Explore Them
Translation if you read this today (3/21/2021) it will be
exceedingly short… because it’s just gonna accumulate entries as
I learn of them over time.


A Subject is a sort of bridge or proxy that is available in some implementations of ReactiveX that acts both as an observer and as an Observable. Because it is an observer, it can subscribe to one or more Observables, and because it is an Observable, it can pass through the items it observes by reemitting them, and it can also emit new items.
Because a Subject subscribes to an Observable, it will trigger that Observable to begin emitting items (if that Observable is “cold” — that is, if it waits for a subscription before it begins to emit items). This can have the effect of making the resulting Subject a “hot” Observable variant of the original “cold” Observable.
There are four varieties of Subject
that are designed for particular use cases. Not all of these
are available in all implementations, and some implementations use other naming conventions (for example, in
RxScala, what is called a “PublishSubject” here is known simply as a “Subject”):
TBD
TBD
If you have a Subject
and you want to pass it along to some other agent without exposing its
Subscriber
interface, you can mask it by calling its asObservable
method, which
will return the Subject as a pure Observable
.
AsyncSubject
BehaviorSubject
PublishSubject
ReplaySubject
If you have a Subject
and you want to pass it along to some other agent without exposing its
Subscriber
interface, you can mask it by calling its asObservable
method, which
will return the Subject as a pure Observable
.
AsyncSubject
BehaviorSubject
PublishSubject
ReplaySubject
TBD
TBD
AsyncSubject
BehaviorSubject
ReplaySubject
TBD
TBD
TBD


the and for SARS-CoV- proteins HIV- The with are that []. can immune {background human pathways using associated was data which related margin molecular viral {border-style drugs found involved were both px;} #ffffff;} role identified some against from such development interactions mechanisms COVID- infection treatment used virus [,]. antiretroviral cathepsin different infections list number therapeutic Integrity PubMed disease diseases pathway response similar text HIV has mining not other over several texts these viruses For This UniProt between cells group our protein shared targets Figure Homo SARS-CoV-â€"host TLR Table antiviral collected genes infections. interaction novel pathological processes proteins, px; shown virusâ€"host {font-family SARS-CoV-. analysis applied based combat complement enrichment entry essential first font-size full including inflammation may relevant respiratory sapiens signaling study their this those COVID-: HIV-, SARS-CoV-, Supplementary There Toll-like also approaches autophagy been conditions considered corpora discussed double; during enriched have host identify interferon known one possible potential proteins. replication strategies system viruses, well (Figure Cathepsin KEGG Materials [], abstracts according activation border-color border-width caused combination common cytokine database drug expressed few hostâ€™s important infections, inflammation, inhibition interactions. manually obtained particular pathways, patients progression promising repurposing solid; storm syndrome them virus, viruses. {font-style {font-weight According Antiviral CCR Clin. Coronavirus Dengueâ€"host DisGeNet IL, NCBI Therefore, acute all among analysis, analyzed approach associations authors available because biological bold but cancer cell contains corpus courier; currently database. diseases, disorders drugs, each em; gene groups help immunodeficiency includes increase induces information innate its named pathogenesis pathway. performed play pt;} receptor release response. responsible results selected set significant spread strategy studies targeting there through type use various


A lightning talk is a very short talk where you share an idea, concept, or a bit of information you find interesting. They’re quick, easy, and a great way to practice. (Lovely example here!)
A lightning talk should be about five minutes long, just long enough to give an overview and make people curious about your topic. You can talk about anything that’s related to the event’s general theme (in the case of Write the Docs, anything even remotely related to documentation).
First, you need a topic. Your topic might be:
A concept, process, or tool that you learned recently or are still learning
An idea for a website or product that would solve a problem you have
A retrospective, or what went right/wrong during a project you did or are doing
Anything relevant that the audience might be interested in knowing more about
Next, you need an outline for the content. Think about the audience, and the goal of your talk. Choose points to make that will be understandable by the audience and achieve your presentation goal. Remember how quickly five minutes goes by when choosing what to include!
Potential points of interest might be:
What could you use this for or when could you use it? Have you already used it? How?
When wouldn't it not be as useful? What are some contraindications to using it?
Resources related to the subject, including books, documentation, and URLs.
Are there any projects or companies that are using what you're sharing?
Is this something you'd like to collaborate with others on? Feel free to ASK!
What are some of the challenges related to using, building, or configuring what you're showing?
You absolutely don’t need slides. However, if you’d like to make slides, use anything that you are comfortable with. Don’t worry if it doesn’t look polished, lightning talks don’t need to be! You might use Microsoft Word, Keynote, a PDF, or a web site. Even a simple terminal or console window where you enter commands can work well for presenting your ideas.
Keep in mind that the projector will be lower resolution, typically 1024x768, and that low-contrast slides don't present well. You’ll also need to make your terminal or console font very large so that everyone can see what you’re typing. If you're running code examples, have them written, debugged, and ready to go. Watching someone write code as they go can be great in a longer deep-dive type of talk, but it's not very well-suited to a lightning talk.
You may have the urge to do a live demonstration of the thing you’re talking about. It seems like an easy way to help the audience see your vision, and it is… if it works! Following Murphy’s Law, however, we can deduce that your live demo will go horribly wrong. A failed demo can derail all but the most skilled presenters, but if you choose to do a demo and it goes wrong don’t worry! Have a backup story to tell that explains what the demo would have shown and revert to it if necessary.
Take a deep breath and go for it. You are among friends, and nobody will mind if you make mistakes. Almost everyone starts out their public speaking career in the tech industry by giving lightning talks, so you can assume your audience has been in your shoes before. Throw caution to the wind and embrace your five minutes! :)
Be sure to bring everything you need to do your presentation. It’s wise to assume that the internet access will fail precisely when you need it. Load web pages you need into your browser beforehand. Bring the adapters you'd normally need to connect your laptop to a monitor or projector, and keep a backup copy of your presentation on a USB memory stick – laptops can and do fail, and this will allow you to use someone else’s laptop if the need arises.
If you have your slide presentation or example code available online you can let the group know where to find it if you want to share it. Curious people may follow up with you if they’d like to collaborate or have feedback about your presentation.
Thanks to the lovely Portland Python Users Group for use of this content.
Lightning Talks: A Guide for Beginners by Michelle Rowley of PDX Python is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


--- layout: newsstory title: News Story match: Havant P Yeltz P ---
As half expected, the recent awful weather meant that the trip down to Havant and Waterloovile was called off due to a waterlogged pitch . At least they had an early inspection to save people making the long trip. Although Tamworth beat Margate, we're still in 17th place .
Tuesday brings surprisingly high-flying Moor Green to The Grove for a second round League Cup tie . We've never really done anything in this competition, and seeing as it's the only cup we're left in it would be nice to get a result.
Then on Saturday our old friends Merthyr are our visitors. It looks like the annual supporters game might not be taking place - I think the Jolly Boys are feeling their age a bit nowadays - but I'm sure we'll have a few drinks together before and after the game.


--- layout: post title: A proper desktop tags: - ego - Mac status: publish type: post published: true meta: {} ---