Numerical Nuptuals

I’ve been known for knowing when things have some rhythm or pattern to them.

#1 was 10/23/04 to 7/8/9, all unnaturally sequential in the sense of m/d/y

#2 was 1/15/14 to 2/29/16, the leap year Divorce, a 1:1461 chance every 4 years. And yes, there is also the “15 minus 1 equals 14” equation, too, but I believe that’s a pick-and-choose.

now, #3, occurring on 3/11/17, is all riddled with primes:

  • 3, 11, 17 are all prime numbers
  • The combinations of 311, 113, and 1117 are prime numbers as well.
  • albeit 31117 is not prime (29 2 • 37, the m/d/y format), 11317 is prime in the ordered set of d/m/y

The “prime” wedding, to say the least.

 

Where is Mark Heick now?

Per: http://www2.erie.gov/clerk/sites/www2.erie.gov.clerk/files/uploads/dbanewmarch.pdf

Instrument Number: 2016046772
Document Description: PAGES
Book: 289
Page: 5732
Record Date: 3/8/2016

HEICK MARK A 1812 CLINTON ST BUFFALO, NY 14206

INDEPENDENT PROFESSIONAL CONTRACTORS POB 74 W SENECA, NY 14224

So, we find more information with interwebz:
Yellowpages: http://www.yellowpages.com/buffalo-ny/mip/ipc-independent-professional-contractors-526468367
Phone: (716) 220-7455

Geek info:
Website: http://www.buffaloipc.net/

Internic:
– Created/Updated: 04-apr-2016
– Expiration: 04-apr-2017
– Registered: enom.com
with “Privacy Protection”

 

And done for the day.

Elizabeth Riehle Harter, b. 13/Oct/1909, d. 20/Jun/2011

June 20, 2011

Elizabeth Riehle Harter, 101, of Liverpool and formerly of Syracuse passed away peacefully on Monday surrounded by her family. She was born in Sasbach, Germany and came to Syracuse in 1928. She was employed with Hi-Mark Restaurant and also worked in the cafeteria at Assumption School and later in the church rectory. She was a former member of the Arion Singing Society and Liederkrantz Club. Elizabeth was predeceased by her husband Ludwig in 1977.

She is survived by her two daughters Mary Heick, of Liverpool, Lillian Tokarz, of Syracuse, seven grandchildren, sixteen great grandchildren, twenty three great great grandchildren.

Services 10:00AM Thursday at Gang Memorial Chapel 10:30AM in Assumption Church. Burial in Assumption Cemetery. There will be no calling hours.

Contributions to Assumption Church 812 N. Salina St. Syracuse 13208

Sourced from: http://www.gangmemorial.com/obits/obituary.php?id=94684

sendmail & dovecot: how do you work…

So, I currently have the following on my VPS so that I can properly run my own mail server:

  • sendmail: for SMTP mail
  • dovecot: for POP3 mail

When I set them up, I made it so that I could emulate what I originally had through phpwebhosting.com, which was basically “all mail gets forwarded to one mail box, then that mail box is downloaded.”

So, since I use an internet service that prevents Port 25 connection, it renders my sendmail ability null and void.

I do know that I need to get TLS up and running so I can use that to connect to instead of standard SMTP to relay mail. I just need to figure out how to setup the mail servers again and how to configure it up so I don’t interrupt my production setup already. Sooo….

Lets get things installed:

As usual, I use a minimal-installed Centos 6.8 system, yum upgraded, and no additional users. According to my documentation, i’ll need 3 things to yum install:

  • dovecot – a secure and highly configurable IMAP and POP3 server
  • sendmail – an electronic mail transport agent
  • saslauthd – sasl authentication server

We need dovecot as the retrieval mechanism, and it won’t be configured just yet.

We need sendmail to …. send email.

We need saslauthd so that we can AUTH our sendmail instance, which allows us to not mail-proxy the world.

[root@mailboy ~]# yum install sendmail sendmail-cf cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain dovecot
Package cyrus-sasl-2.1.23-15.el6_6.2.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package sendmail.x86_64 0:8.14.4-9.el6_8.1 will be installed
--> Processing Dependency: procmail for package: sendmail-8.14.4-9.el6_8.1.x86_64
--> Processing Dependency: libhesiod.so.0()(64bit) for package: sendmail-8.14.4-9.el6_8.1.x86_64
--> Running transaction check
---> Package sendmail-cf.noarch 0:8.14.4-9.el6_8.1 will be installed
--> Running transaction check
---> Package hesiod.x86_64 0:3.1.0-19.el6 will be installed
---> Package procmail.x86_64 0:3.22-25.1.el6_5.1 will be installed
--> Running transaction check
---> Package cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.2 will be installed
---> Package cyrus-sasl-gssapi.x86_64 0:2.1.23-15.el6_6.2 will be installed
---> Package cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.2 will be installed
---> Package cyrus-sasl-plain.x86_64 0:2.1.23-15.el6_6.2 will be installed
---> Package dovecot.x86_64 1:2.0.9-22.el6 will be installed
--> Processing Dependency: portreserve for package: 1:dovecot-2.0.9-22.el6.x86_64
--> Running transaction check
---> Package portreserve.x86_64 0:0.0.4-11.el6 will be installed
--> Finished Dependency Resolution

Installed: sendmail.x86_64 0:8.14.4-9.el6_8.1 cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.2 cyrus-sasl-gssapi.x86_64 0:2.1.23-15.el6_6.2 cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.2 cyrus-sasl-plain.x86_64 0:2.1.23-15.el6_6.2 dovecot.x86_64 1:2.0.9-22.el6

Dependency Installed:
 hesiod.x86_64 0:3.1.0-19.el6 procmail.x86_64 0:3.22-25.1.el6_5.1 portreserve.x86_64 0:0.0.4-11.el6

Complete!

And that takes care of 99% of everything we need! Just need to make sure we have our services:

[root@mailboy ~]# service sendmail status
sendmail is stopped
sm-client is stopped
[root@mailboy ~]# service dovecot status
dovecot is stopped
[root@mailboy ~]# service saslauthd status
saslauthd is stopped
[root@mailboy ~]#

Bingo!

Configuring Sendmail:

This…this is a pain in the ass. Get to /etc/mail, which is where sendmail claims its territory.

So, the first thing we need to do is /know/ what we need to do. This can be pretty hard and daunting at the start, but i’ve seemed to break this down to a couple steps.

Some configuration files are easy, plain-texty-types. Others are “learn M4, make, compile, pray”.

local-host-names: Easy plain-text list of all domains you are accepting mail from. There shouldn’t really be much aside from “Edit with favorite editor, then edit more and more”. A sample entry is as easy as derpydoodles.com

virtusertable: This is the “who gets what mail, and where mail can go to” configuration. Before digging into this, I created a linux postyman user to have all domains listed in the local-host-names dump their mail to. Seemed pretty easy. The configuration to place into this file ended up being:

# http://www.yolinux.com/TUTORIALS/Sendmail.html
# File /etc/mail/virtusertable (Optional) Allows the separation of emails by domain. i.e. greg@domain1.com and greg@domain2.com go to two different users greg1 and greg2.
# webmaster@domain-1.com dave
# webmaster@domain-2.com john
# john@domain-2.com john
# @domain-2.com error:nouser User unknown
# @domain3.com mathew
# The second column is the local user, a remote forwarding email address or a mailing list entry in /etc/aliases.
########################################
# NOTE: Check /etc/aliases to make sure that you dont use one there before putting it here
########################################
# Make all email to all domains below go to postmaster.

@derpydoodles.com postyman

After this configuration is done, we have to “build the database!”. This is sort-of easy:

makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

sendmail.mc: This is a son-of-a-doggie.

So, the first thing is to get Authentication rolling up. I’ve copy/pasted the changes necessary to get “AUTH LOGIN” working for sendmail:

Uncomment:

dnl #
 dnl # The following allows relaying if the user authenticates, and disallows
 dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
 dnl #
 define(`confAUTH_OPTIONS', `A p')dnl
 define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
 TRUST_AUTH_MECH(`LOGIN PLAIN')dnl

Comment and Add:

dnl # TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
 dnl # define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
 define(`confAUTH_OPTIONS', `A')dnl
 define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
 TRUST_AUTH_MECH(`LOGIN PLAIN')dnl
 dnl #

Comment and Modify:

dnl # The following causes sendmail to only listen on the IPv4 loopback address
 dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
 dnl # address restriction to accept email from the internet or intranet.
 dnl #
 dnl #DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
 DAEMON_OPTIONS(`Port=smtp,Name=MTA')dnl
 dnl #

And finally, allow the extra port for funsies:

DAEMON_OPTIONS(`Port=587, Name=MSA, M=E')dnl

And then we need to “compile” this out…

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Start some services:

[root@mailboy mail]# service saslauthd start
Starting saslauthd: [ OK ]
[root@mailboy mail]# service sendmail start
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@mailboy mail]#

And testing:

 

Sethbling, Sethbling, wherefore art thou Mario

This has been quite an interesting series of Youtube videos. Allow me to explain:

It started off with a Fark article lovingly entitled Guy creates an artificial intelligence that learns how to play and beat a Super Mario Bros. level, of which the guy was the one and only Sethbling. Sethbling has been an amazing staple in the Minecraft community, and previously unknown to me is also a Super Mario Brothers speed runner.

He explains MarI/O (Mar + I/O, for those keeping up), in which he uses an emulator, some LUA, and a method of artificial intelligence to play and finish the first level of Super Mario Brothers.

The actual article from the University of Texas and the subsequently linked Wikipedia Pages (NeuroevolutionEvolutionary Algorithm, and Artificial Neural Network) are excellent readings.

This led me to the Credits Warp method. For speed runners, their goal is to finish the game as soon as possible, and with the Credits Warp this method is now the fastest.

The whole “Credits Warp” got me thinking about how this was actually done, so I found an amazing explanatory video on this specifically.

Rewriting a SNES using the console controller sounded amazing, and led to the next video on the list from tasvideos (the explanation) and the tasvideo where arbitrary code was executed for an amazing result (Starts at 32:00):

So, now i’m chilling with an amazing TAS execution of Super Mario World being fully run, and it’s pretty cool to see how people could just let computers do their thing.

https://www.youtube.com/watch?v=C9Y2voAvVz4