ps

United Nations Disaster Resilience Scorecard, Developed by AECOM and IBM, Helps Cities Prepare for Disaster

An updated Disaster Resilience Scorecard to help cities and local government agencies improve their preparedness and reduce risks from disasters was launched today at the Global Platform for Disaster Risk Reduction. Developed for the UN Office for Disaster Risk Reduction by AECOM, IBM with support from USAID and the European Commission, the Scorecard gives better access to information, knowledge resources, and tools to effectively reduce risks from the impacts of natural hazards and climate change.




ps

WB announces a watch party for JL DARK: APOKOLIPS WAR, the endgame of the DC Animated Movie Universe

Taking place tomorrow 1:00PM PT/4:00PM ET

The post WB announces a watch party for JL DARK: APOKOLIPS WAR, the endgame of the DC Animated Movie Universe appeared first on The Beat.




ps

PSA Peugeot Citroën and IBM Partner to Accelerate Time to Market of New Services Based on Connected Cars

PSA Peugeot Citroën and IBM today announced a partnership to help various industries within the Internet of Things economy to analyze data to deliver new services from connected vehicles.




ps

Army Re-Ups with IBM for $135 Million in Cloud Services

IBM announced today that the U.S. Army’s Logistics Support Activity awarded IBM a contract to continue providing cloud services, software development and cognitive computing, constituting the technical infrastructure for one of the U.S. federal government’s biggest logistics systems.



  • IBM Watson Internet of Things (IoT)

ps

Chase the Total Solar Eclipse and Join Celestial Celebrations Across the Country with The Weather Channel and Twitter

Millions of consumers depend on The Weather Channel and weather.com for their daily forecasts, breaking weather news, and the latest in health and travel. And, on August 21, they will be able to experience a solar eclipse like never before. The Weather Channel digital properties and Twitter have teamed up for a live stream of this once-in-a lifetime celestial event, which will allow consumers to chase the total solar eclipse in real time as it moves from coast-to-coast.



  • IBM Social Business

ps

IBM Watson Health and MAP Health Management Partner to Curb Incidence of Substance Abuse Relapse in the United States

MAP Health Management and IBM Watson Health today announced a partnership that aims to address the pervasive problem of relapse among Americans suffering from Substance Use Disorder, a chronic disease. MAP will integrate Watson cognitive technologies into the MAP Recovery Network Platform to enhance the platform’s existing capabilities around patient risk models. In doing so, it is anticipated that behavioral health and substance abuse treatment providers that use the MAP platform will be better able to predict and prevent incidence of relapse nationwide.



  • IBM Watson Analytics

ps

Top Tips for Visiting Disneyland 2019

A batch of advice for visiting Disneyland with two young teens




ps

IBM Helps Accelerate AI with Fast New Data Platform, Elite Team

As companies look to embrace Artificial Intelligence (AI) to gain competitive advantage and increase productivity, IBM today unveiled a new data science and machine learning platform and an elite consulting team to help them accelerate their AI journeys.




ps

Apple e IBM lanzan la primera ola de apps para iOS

Apple e IBM lanzaron hoy la primera ola de soluciones IBM MobileFirst para iOS, una nueva clase de apps creadas para los negocios y con soporte para servicios de Cloud, que llevan las capacidades Big Data y Analítica de IBM a los usuarios de iPhone e iPad en las empresas.




ps

IBM Breaks U.S. Patent Record; Tops Patent List for 19th Consecutive Year

IBM today announced that it set a new U.S. patent record in 2011, marking the 19th consecutive year that the company has led the annual list of patent recipients. IBM inventors earned a record 6,180 U.S. patents in 2011, more than quadrupling Hewlett-Packard’s issuances and exceeding by six times those of Oracle/Sun.




ps

DPstreet rompe las barreras de la moda urbana con IBM

La marca de moda urbana DPStreet, filial del corporativo GrupoDP, ha dado a conocer su intención de transformar el modelo comercial y de negocio apoyados en la habilitación de distintas estrategias digitales, una de las principales es una tienda virtual desarrollada por IBM (Digital Commerce) e implementada por Solemti S.A. de C.V., su asociado de negocios en el área digital.




ps

IBM Helps NeSI Make Supercomputers More Widely Available for Research

IBM has provided extra high performance computing (HPC) capacity to the Universities of Auckland and Otago within a new collaboration called the New Zealand eScience Infrastructure (NeSI) that makes large-scale scientific computing more widely available to New Zealand researchers.




ps

Concluyen Programa Corporate Service Corps de IBM

Después de un mes de haber iniciado la consultoría pro-bono de IBM, denominada Corporate Service Corps (CSC), el día de hoy se hizo entrega de los resúmenes ejecutivos a cada uno de los Directores de las organizaciones receptoras de este apoyo: DIF-Dirección de Innovación Guadalajara, Cuerpos de Paz-AIPROMADES, Asociación Nacional de Bancos de Alimentos (BAMX).




ps

IBM announces two new partnerships with MoleMap New Zealand and Melanoma Institute Australia to advance research in melanoma identification

IBM Research has announced a research agreement with MoleMap New Zealand to help further advance the identification of melanoma using cognitive technology. It builds on planned research with Melanoma Institute Australia. IBM Research plans to analyse dermatological images of skin lesions to help identify specific clinical patterns in the early stages of melanoma. The New Zealand and Australian research aims to help reduce unnecessary biopsies and help clinicians more accurately understand skin cancer, which could help to improve patient care.




ps

Premian Banorte e IBM apps de estudiantes del Tec de Monterrey que transforman servicios bancarios dirigidos a los jóvenes

Tres proyectos que proponen mejorar la interacción y la experiencia de los jóvenes usuarios con servicios bancarios móviles, fueron reconocidos hoy por Banorte, IBM y el Tec de Monterrey como resultado del Reto Banorte en el marco de la Semana i, que la institución educativa llevó a cabo del 21 al 25 de septiembre en todo el país.




ps

IBM Tops U.S. Patent List for 20th Consecutive Year

IBM today announced that it received a record 6,478 patents in 2012 for inventions that will enable fundamental advancements across key domains including analytics, Big Data, cybersecurity, cloud, mobile, social networking and software defined environments, as well as industry solutions for retail, banking, healthcare, and transportation. These patented inventions also will advance a major shift in computing, known as the era of cognitive systems.




ps

Cloud : - IBM apporte de nouveaux services de divertissement à domicile avec la télévision intelligente de Philips - IBM et Vodafone lancent l’initiative Smarter Home

IBM annonce aujourd’hui que son nouveau cloud pour les fabricants d’appareils électroniques fournira à la TV connectée de Philips de nouveaux services internet, afin de proposer une gamme de services plus interactifs à des millions de téléspectateurs dans plus de 30 pays en Europe, mais aussi au Brésil et en Argentine.



  • Global Business Solutions

ps

IBM lance un réseau de marketing digital dans le cloud pour aider les entreprises à améliorer leurs performances marketing en temps réel

IBM, rejoint par plus de 100 partenaires commerciaux, lance le réseau IBM Digital Marketing dans le cloud et aide les directeurs marketing (CMO) et leurs équipes à intégrer plus rapidement et plus facilement de nouveaux services marketing, afin de mesurer et d’améliorer leur efficacité en temps réel.



  • Global Business Solutions

ps

Apple et IBM annoncent plus de 100 apps MobileFirst pour iOS !

Apple et IBM annoncent plus de 100 apps MobileFirst pour iOS !




ps

IBM’s Corporate Services Corps Heading to Six Emerging Countries to Spark Socio-Economic Growth

One hundred IBM (NYSE: IBM) employees from 33 countries – including six from Australia and New Zealand – have been selected to participate in the company's new Corporate Service Corps program. The program is part of the Global Citizen's Portfolio initiative announced by CEO Sam Palmisano to develop leadership skills, while addressing socio-economic challenges in emerging markets.



  • Travel & Transportation

ps

IBM announces two new partnerships with Melanoma Institute Australia and MoleMap to advance research in melanoma identification

IBM Research in Australia has announced plans to undertake research with Melanoma Institute Australia to help further advance the identification of melanoma using cognitive technology. This planned research builds on IBM’s existing research agreement with Molemap, which uses advanced visual analytics to analyse more than 40,000 data sets including images and text. IBM Research plans to analyse dermatological images of skin lesions to help identify specific clinical patterns in the early stages of melanoma1. The Australian research aims to help reduce unnecessary biopsies and help clinicians more accurately understand skin cancer, which could help to improve patient care.




ps

Australian Settlements Limited Taps IBM Cloud in Preparation for New Payments Platform

ASL to benefit from IBM Cloud and IBM PureApplication to deliver for secure real time payments for NPP Australia



  • Banking and Financial Services

ps

IBM SECURITY HELPS STOP CYBERCRIMINALS FROM OPENING FRAUDULENT ACCOUNTS

IBM Security today announced a new capability from IBM Trusteer that helps banks identify fraudulent accounts before they are opened. The technology also protects consumers even if they are not a customer of the bank being targeted with the fake account.



  • Banking and Financial Services

ps

Australian Start-Up Oovvuu taps IBM Watson to deliver video on demand news

New advertising streams for global news organisations uncovered by AI




ps

AI technology helps customers get back on the road sooner

Leading Australian insurer Suncorp today announced it has successfully integrated IBM (NYSE: IBM) Watson artificial intelligence technology into its online claims process.




ps

WorkCoverSA develops new systems to support employers and injured workers with the help of IBM and Cúram Software

IBM (NYSE: IBM) and Cúram Software announced today the successful implementation of a number of software solutions for WorkCoverSA to support their business. WorkCover selected IBM Global Business Services to implement the Cúram for Workers' Compensation Solution, a comprehensive and proven claims management solution that manages and automates the complete claim lifecycle from injury to outcome, as part of a comprehensive modernisation of their IT systems.



  • Services and solutions

ps

IBM helps Ausgrid implement first-of-a-kind smart grid technology

IBM (NYSE: IBM) today announced the successful implementation of a first of its kind smart grid data management platform, designed and built with Ausgrid to give the utility more data from part of its electricity distribution grid.



  • Services and solutions

ps

IBM helps Australian Bureau of Statistics break records with the 2011 eCensus

IBM (NYSE: IBM) and the Australian Bureau of Statistics (ABS) today announced that more than 2.6 million households across Australia submitting Census forms via the web-based eCensus solution. This represents a significant jump from the 2006 Census, when 778,000 (9.1 per cent) of Australian households completed their forms online.



  • Services and solutions

ps

SLC-2L-09: Google Maps as a Visa | BTS 360



Today in Lighting Cookbook, using Google Maps as an entré to meet new subjects, and improvising with a skeleton pack of lighting equipment. Read more »




ps

Announcing (2) Small-Class Lighting Workshops Baltimore / Washington, DC Area, Dec. 6 and 7



UPDATE: Both workshops filled very quickly. I only do these about once a year; apologies for the imbalance. I have set up a system so people who are potentially interested in future small-class lighting workshops can receive advance notice. More info here.

__________

I'll be teaching two, full-day lighting workshops in the suburban Baltimore/DC area on December 6 and 7.

They are two separate one-day events. These are small-group workshops, with a maximum class size of 12 people each day. These are shooting workshops, and you'll be behind (and/or in front of!) a camera for most of the day.

Assuming you arrive at this class with a basic understanding of f/stops and shutter speeds, you will leave with a strong foundation in the fundamentals of off-camera lighting. You will be comfortable using single and multiple lights both alone and/or balanced with a mix of ambient lighting.

All lighting gear will be provided. We will also provide lunch.

You will need to bring a camera that is adjustable in manual mode and has a hot shoe connection for a flash, a lens that covers normal and/or portrait range, one or two fully charged batteries and an empty storage card. Maybe a notebook and pen if you like.

That's it. Just show up ready to learn and to have fun. Leave the rest to me.


Details

Dates:
December 6 and 7, 2019

Time:
9:30am - 5:30pm

Price:
$259

Location:
Sandy Spring Friends Lyceum
17715 Meeting House Road
Sandy Spring, MD 20860


Note; These are the only small-class lighting workshops I'll be teaching in the US this year. In the past, these have tended to fill very quickly. So if this is something you'd like to do, I'd suggest signing up sooner rather than later.


Sign-Up Links

Friday, December 6 [FRIDAY'S CLASS HAS BEEN FILLED]

Saturday, December 7 [SATURDAY'S CLASS HAS BEEN FILLED]




ps

IBM 'Heart of the City' installation maps the pulse of Vivid Light Walk

Sydney, Australia – 29 May 2014: The IBM (NYSE: IBM) 'Heart of the City' installation at this year's Vivid Sydney is using data analytics to map and visualise the real-time movement of festival attendees with WiFi devices walking around the 40-plus installations along the Vivid Light Walk precinct.




ps

INPEX selects IBM to manage operation critical apps in Australia

INPEX selects IBM to manage operation critical apps in Australia




ps

ehoradote: Conte de printemps (1990) Éric Rohmer interiores



ehoradote:

Conte de printemps (1990) Éric Rohmer

interiores





ps

247B, Notes 3: pseudodifferential operators

In contrast to previous notes, in this set of notes we shall focus exclusively on Fourier analysis in the one-dimensional setting for simplicity of notation, although all of the results here have natural extensions to higher dimensions. Depending on the physical context, one can view the physical domain as representing either space or time; we […]




ps

NEWS: Starfighter: Eclipse Release!

*STARFIGHTER: ECLIPSE IS NOW LIVE*

You can play it right away at datenighto.com ;) -Hamlet




ps

NEWS: We'll be at Oops Summer Fest 2016!

I'll be a guest at the OOPS SUMMER FEST in Monterrey, Mexico!

This is my first time there- if you are attending the convention, I hope we can meet! (My Spanish isn't great, but I will try my best!)

VIP members get an exclusive print I made <3

See you there! <3 -Hamlet




ps

Pravidla pro chytré sítě 5G by v USA mohla psát i Huawei

Ministerstvo obchodu Spojených států připravuje nová digitální pravidla. Americké podniky by na základě nich mohly spolupracovat s čínskou firmou Huawei Technologies na stanovování norem pro mobilní sítě (5G). Agentuře Reuters to řekly zdroje obeznámené se situací. Loni touto dobou přitom USA uvalily restrikce na obchodování s Huawei.



  • Ekonomika - Zahraniční

ps

Snowpocalypse!



We are in the middle of a THUNDERSNOW here in Chicago and it is windy and snowy as all get out. I am about to take the dogs out for their final potty of the night and hope that none of us blow away. Earlier, about 40 minutes into our blizzard watch, we went outside and I took these photos. It now sounds much worse outside than it was when these were taken!


Check out Probert's new JAFCO flexible vinyl "hat." We've only had it two days, so we'll keep using it before reporting back on it's functionality.




ps

Upsidedown Dogs

At the beginning of June Probert and I taught Doga as a fundraiser for One Tail at a Time rescue in Chicago. We had an awesome time with a full class and the Fido to Go dog food truck even showed up at the end of class so the Dogis could get  treat!

Here are some pictures:







ps

Žebříček nejlepších spořicích účtů se totálně proměnil, sazby padají

Kvůli koronavirové pandemii lze očekávat silnou recesi. Česká národní banka proto v březnu dvakrát snížila základní úrokovou sazbu z 2,25 procenta na jedno procento. Některé banky na to už zareagovaly razantním snižováním úrokových sazeb na spořicích účtech, což zamíchalo žebříčkem nejlepších spořicích účtů. Ve spolupráci s Finparádou jsme zmapovali aktuální trend a sestavili nový žebříček.



  • Finance - Banky a spoření

ps

Raw Zucchini Chips: Super Easy Raw Food Recipe


Zucchini chips are an awesome/tasty alternative to convention chips, which have few nutrients and are laden with fat and salt. Not only that, but before I was raw, I always overlooked zucchini as a "buy and make it in bulk" vegetable. But, when zucchini is plentiful, this is the perfect recipe to use them up.

 

Zucchini season is best in mid summer, because it's a warm weather plant. Even so, zucchini can be found at most groceries through most of the year. Look for firm and glossy fruit with no marks or soft spots.


Simply wash the zucchini and then slice thinly. A mandolin would be the best choice of tool, but I did just fine with a chef's knife. If you want your zucchini chips to have lighter edges, then peel then first then slice.



Put the sliced zucchini in a lidded container and add the marinade. Shake well to coat.




Spread out in a single layer on lined dehydrator sheets. Dehydrate at around 145 degrees Fahrenheit for about an hour, then reduce the temperature to 120 and dehydrate for another 12 hours or so. Overnight is a good way to time it. They're done when all the moisture has been removed. They should be pretty crispy and only a little chewy. The full recipe is below.


Raw Zucchini Chips
one large batch ~ $7.10


ingredients
  • 8 cups thinly sliced zucchini rounds ($5.00)
  • 1/2 cup agave ($1.00)
  • 1/4 cup balsamic vinegar ($.40)
  • 1/4 olive oil ($.40)
  • 2 tablespoons dried oregano ($.05)
  • 2 tablespoons dried basil ($.05)
  • 2 tablespoons dried parsley ($.05)
  • 1 tablespoon garlic powder ($.05)
  • 1 tablespoon onion powder ($.05)
  • 1 teaspoon salt (or more to taste)
  • 1 teaspoon black pepper
  • 1 teaspoon crushed red pepper flakes ($.05) 
directions
  • Slice the zucchini, pat dry if needed, and place in a large, lidded container. 
  • In a small bowl, whisk together the remaining ingredients.
  • Pour over the sliced zucchini, cover, and shake (or just stir) until zucchini is evenly coated. 
  • Spread the zucchini on lined dehydrator sheets and dry at 145 degrees for about an hour and then at 120 for about another 12 hours or overnight (dehydrating time can vary), until crispy. 
  • Store leftovers in an airtight container and pop into dehydrator for a few minutes to crisp them up again if necessary. 







ps

Lipstick Queen

Получила от подруги в подарок на Новый год совершенно мари-антуанеттскую коробку - помада и блеск для губ от Lipstick Queen, заколка и брошь с крошечными цветами. Цветы- любимые пионы, тёмно-красного цвета, блеск - в коробочке с зеркальцем; теперь так оформляют в основном пудру и румяна, а когда-то и средства для губ (и мушки!). И всё это такое.. прелестное! Словом, я чувствую себя девочкой-девочкой. Но не маленькой. Большой и очень довольной!




ps

Oops, February is short

Wow, the end of February really snuck up on me! I wrote this on the morning of March 1 and backdated it. :(

Aside from some uninteresting work travel and a bit more progress on Pac Tom, the main notable thing from February was work on my SIGBOVIK papers. It is now possible to submit, so you can too! Thank you for your suggestions for my chess paper (see previous post); it's not too late for more ideas there. I also have one non-chess paper, which turned out to be pretty fun. For that I spent a solid chunk of the weekend manually routing this bad boy:


Design rules check pass!


It may end up to be too hard to solder, but isn't it aesthetically pleasing?




ps

NaN Gates and Flip FLOPS

I was hoping to have a few things to write about in this month, but the only thing I finished was this video for SIGBOVIK, right at the beginning:


NaN Gates and Flip FLOPS


There is also the paper which has some merits but I submitted that before actually finishing the project, so I think the video is the definitive version. Either way this one is really aimed at trolling computer scientists, and so may be impenetrable if you don't have the background; sorry about that!

Allergies and various things have got me down recently but it's also getting nice out, which should provide a burst of energy!! This weekend is the Marathon in Pittsburgh, which I intend to run. No costume plans but sometimes I get last minute inspiration / compulsion. Feel free to taunt me with your ideas.




ps

Leo Zovic: Places, Peeps And Plagues

(in-package #:cl-pestilence)

;;   This is _not_ a simulation. It's just a game. And any resemblance
;; to any world, real or imaginary, is entirely coincidental.

;;   You can copy/paste this post in its entirety into a Common Lisp
;; REPL and play around with it if you like. I'm documenting it where
;; possible, but it's just a small toy to poke at for the moment.

;;   I've been thinking a lot about asymmetric multiplayer games and
;; <gestures wildly to world at large> all this.
;; I'm not actively _trying_ to model it accurately, but it's probably
;; obvious what's been consuming my thoughts lately.

;;   Let's get right into this. I'll explain as I go, and tie a few things
;; together neatly at the end. I hope. Regardless, there will absolutely
;; be a repo sometime fairly soon.

;; A place can be tagged arbitrarily, and can contain occupants.
;; They also collect points.

(defclass place ()
  ((tags :initarg :tags :initform nil :accessor tags)
   (occupants :initarg :occupants :initform nil :accessor occupants)
   (points :initform 0 :accessor points)))

(defun place? (thing)
  (eq (find-class 'place) (class-of thing)))

(defun place (&key tags occupants)
  (make-instance 'place :tags tags :occupants occupants))

(defun gen-place ()
  (let ((tag (pick '(:apartment-building :house :cottage
		     :office-building :factory :store
		     :cafe :lounge :theater))))
    (place :tags (list tag))))

(defmethod details ((place place))
  (format nil "====================~%~a {~{~a~}}~%~{  ~a~^~%~}~%"
	  (first (tags place))
	  (rest (tags place))
	  (mapcar #'details (occupants place))))

(defmethod show ((place place))
  (format nil "~20@a ~5a [~{~a~}]~%"
	  (first (tags place)) (points place)
	  (mapcar #'show (occupants place))))

;; A peep goes places.
;; They have
;;  - their daily routine (a list of places to visit)
;;  - their todo (the part of their routine they still need to do;
;;                they are currently at the first place in this list)
;;  - their health (a number from 0 to 100)
;;  - a list of plagues
;; Finally, they _also_ collect points.

(defclass peep ()
  ((routine :initarg :routine :initform (list) :accessor routine)
   (todo :initarg :todo :initform nil :accessor todo)
   (health :initarg :health :initform 100 :accessor health)
   (plagues :initform nil :accessor plagues)
   (points :initform 0 :accessor points)))

(defun peep? (thing)
  (eq (find-class 'peep) (class-of thing)))

(defun peep (&key places)
  (make-instance 'peep :routine places :todo places))

(defun health->string (health)
  (cond ((>= health 90) "@")
	((>= health 80) "0")
	((>= health 70) "O")
	((>= health 50) "o")
	((>= health 30) ":")
	((>= health 1)  ".")
	(t "☠")))

(defmethod details ((peep peep))
  (format nil "[~a ~3d [~{ ~a~^ ->~}]]"
	  (health->string (health peep)) (health peep)
	  (mapcar
	   (lambda (place) (first (tags place)))
	   (routine peep))))

(defmethod show ((peep peep)) (health->string (health peep)))

;; A world is a list of places, occupied by peeps. The world we start
;; peeps in also determines their routine.

(defun gen-world (&key (num-places 20) (num-peeps 100))
  (let ((places (loop repeat num-places collect (gen-place))))
    (loop repeat num-peeps
       do (let* ((routine (loop repeat 5 collect (pick places)))
		 (peep (peep :places routine)))
	    (push peep (occupants (first routine)))))
    places))

(defmethod details ((world list))
  (format nil "~%~{~a~}~%" (mapcar #'details world)))

(defmethod show ((world list))
  (format nil "~%~{~a~}~%" (mapcar #'show world)))

(defmethod all-peeps ((world list))
  (loop for place in world append (all-peeps place)))

(defmethod all-peeps ((place place))
  (loop for o in (occupants place) if (peep? o) collect o))

;; `tick!`ing a world means moving every peep through their routine once.
;;   We `tick!` each peep, then `tick!` each place until all the peeps are
;; done. Then we reset their routines.
;; You can think of this as a turn in the game.

(defmethod tick! ((world list))
  (let ((peeps (all-peeps world)))
    (loop while peeps
       do (setf peeps
		(loop for p = (pop peeps) while p
		   for res = (tick! p)
		   if res collect res))
       do (mapc #'tick! world)
       do (format t "~a" (show world)))
    (loop for p in (all-peeps world)
       do (setf (todo p) (routine p))))
  world)

;; Don't worry about the details of how to `tick!` peeps or places yet.

;;   Ok, here's where it gets a bit darker. Although we _did_
;; foreshadow this in the definition of `peep`. And also in the title
;; of the accompanying blog post.

;; A plague is another living thing.
;; It has
;;  - a host (a peep that it's infecting)
;;  - a signature (a token representing its lineage and strain)
;;  - health (how well it's doing inside its host)
;;  - virulence (how likely it is to spread to another host)
;;  - efficiency (how efficient they are at feeding)
;;  - reproduce (a function that returns a new instance to push into a new host)
;;  - and a strategy (a function, possibly closed, that takes
;;    itself and its host peep and mutates)

;; Plagues do not collect points; they score differently.

(defclass plague ()
  ((host :initarg :host :initform nil :accessor host)
   (signature :initarg :host :initform "SIG" :accessor signature)
   (health :initarg :health :initform 10 :accessor health)
   (virulence :initarg :virulence :initform 10 :accessor virulence)
   (efficiency :initarg :efficiency :initform 0.2 :accessor efficiency)
   (reproduce
    :initarg :reproduce
    :initform
    #'plague
    :reader reproduce)
   (strategy
    :initarg :strategy
    :initform
    (lambda (plague peep)
      (feed! plague peep 30))
    :reader strategy)))

(defun plague ()
  (make-instance 'plague))

;; Plagues can `feed!` on peeps or plagues. To feed means to
;; take away some of the targets' health and add some to your own.

(defmethod feed! ((self plague) (peep peep) (amount integer))
  (decf (health peep) amount)
  (incf (health self) (* (efficiency self) amount)))

(defmethod feed! ((self plague) (plague plague) (amount integer))
  (decf (health plague) amount)
  (incf (health self) (* (efficiency self) amount)))

;; Plagues can also `infect!` peeps by `reproduce`ing into them.

(defmethod infect! ((self plague) (peep peep))
  (unless (infected-by? self peep)
    (let ((child (funcall (reproduce self))))
      (setf (host child) peep)
      (push child (plagues peep)))))

(defmethod infected-by? ((self plague) (peep peep))
  (member (signature self) (mapcar #'signature (plagues peep))
	  :test #'string=))

;;  `tick!`ing a plague causes it to weaken and also carry out its strategy.
;; This models the background effect of the immune system of its host.

(defmethod tick! ((plague plague))
  (decf (health plague) 1)
  (funcall (strategy plague) plague (host plague))
  plague)

;;  `tick!`ing a peep means moving them to their next place, and also
;; `tick!`ing any plagues they may have contracted. Also, peeps are
;; resilient; they heal a small amount each time they tick (to a
;; maximum of 100).
;;  If a peep dies, they no longer move. And their plagues probably
;; won't do well. Peeps like to go places. They score points for each
;; place they go to.

(defun dead? (thing) (>= 0 (health thing)))

(defmethod tick! ((peep peep))
  (unless (dead? peep)
    (let ((location (pop (todo peep))))
      (incf (points peep))
      (setf (occupants location) (remove peep (occupants location)))
      (push peep (occupants (or (first (todo peep)) (first (routine peep)))))
      (setf (health peep) (min 100 (+ 5 (health peep))))
      (mapc #'tick! (plagues peep))
      (unless (empty? (todo peep))
	peep))))

;; `tick!`ing a place causes it to score for each `peep` present. And it causes
;; any `plague`s on present `peep`s to try to `infect!` other nearby peeps.
;; Places also lose points for each dead peep they contain.

(defmethod tick! ((place place))
  (incf (points place) (length (occupants place)))
  (loop for peep in (all-peeps place)
     if (dead? peep)
     do (decf (points place) 2)
     else do (loop for plague in (plagues peep)
		do (loop for victim in (remove peep (all-peeps place))
		      if (>= (virulence plague) (random 100))
		      do (infect! plague victim))))
  place)

;;  So, now we've got the basic framework of the game in place. There are three
;; players in this game: places, peeps and plagues.
;;   A plague player automatically loses if they are completely cured, and
;; automatically wins if they manage to kill everyone. That's fairly simple.
;;   A place player wins if they manage to cure the plague. They automatically
;; lose if all the peeps die. Also, fairly simple.
;;   A peep player is trying to survive. If they manage to make it some numer
;; of turns before dying, then we have to score the game instead of declaring
;; an outright winner regardless of game state.

;;   A peep player's score is the total number of points plus remaining health
;; on all of their peeps, minus the number of active plagues on said peeps.
;;   A plague player's score is the total number of health of their plagues,
;; with a multiplier equal to the number of places fully infected by
;; their plague.
;;   A place player's score is the total number of points in their places.

(defun score (world)
  (list :peep (let ((score 0))
		(loop for p in (all-peeps world)
		   unless (dead? p)
		     do (incf score (+ (health p) (points p)))
		   do (decf score (length (plagues p))))
		score)
	:place (let ((score 0))
		 (loop for p in world
		    do (incf score (points p)))
		 score)
	:plague (let ((score 0))
		  (loop for victim in (all-peeps world)
		     do (loop for p in (plaguesvictim)
			   do (incf score (max 0 (health p)))))
		  (loop for target in world
		     if (every
			 (lambda (victim)
			   (not (empty? (plagues victim))))
			 (all-peeps target))
		     do (setf score (* 2  score)))
		  score)))

;;   I think that's all I've got for now. This is definitely an idea I want
;; to run with. At the moment, it's just a tiny, in-repl proof-of-concept,
;; and not particularly fun, but I'm going to try developing it further with an
;; eye towards turning it into an actual web game playable from this site.

;; As always, I'll let you know how it goes.

(defun pick (lst)
  (nth (random (length lst)) lst))

(defun empty? (lst)
  (null lst))




ps

wraps ups

So I got all my wrap-ups written and here’s the short list libraries visited books read places stayed other events (i.e. timeline of big events in 2019) I’m a few days behind last year but more or less on schedule. And like last year, January is a Wikipedia month, staying busy writing articles and making […]




ps

Bushnell Wingman GPS Speaker



  • Audio & Speakers

ps

Mr. Cupps x Uncrate Vintage Keychain Collection