Category: Latest Developments

Fan fair for all that hard work

Local development

Been meaning to move my dev environment onto my local machines instead of developing directly on the server. There are lots of benefits to this: it will save me from setting up dev hosts on the server, for one. And this will help keep commits in github from being so granular and cluttering up the place. Also, it should save a few seconds every time I want to test what I’ve done, which will save me at least a few minutes every day. Plus every single time I commit code to test, it is followed by one more commit usually with the comment ‘doh!’. Would be good for my ego to eliminate that as well.

To make a local environment for dev, in the olden days we would get each application (apache, mysql, php) and download or compile them locally, then install, etc. All updates were manual. In today’s world, we have quite a few options for install suites that provide a complete local environment.

I did some initial research, and installed a couple that didn’t work well, then finally did what I should have done in the first place and consulted phptherightway.com – my first and often final source for advice regarding current best practices. From php the right way’s home page, navigate under ‘Getting Started’ to ‘Window Setup’. There you will find a brief write-up, including a list of integrated development environment bundles.

After reviewing the offerings under each of the recommended sources, I installed EasyPHP – DevServer 17 (http://www.easyphp.org) on my Windows 7 desktop host, which takes most of the abuse in terms of installing unknown software, etc. these days. So far, the download page seemed a little sketch, but it doesn’t seem to have installed anything undesirable. I had problems with the menu in the notification area immediately after the install – it would not recognize any of the menu selections to start servers (or to exit the DevServer itself). The dashboard link, which goes to the localhost with a custom port, opened to an error in my browser. When I navigated to just localhost (port 80), there was a link to view php_info() output, but nothing else.

When it let me open a second instance, I knew it was having severe problems and shut everything down then rebooted. After my computer came up I was back on track with the Getting Started guide, here: http://www.easyphp.org/documentation/devserver/getting-started.php. I was able to start the servers and access the dashboard.

The dashboard has some good options – you can clearly see whether servers are running and their versions, configure directories to serve as the document root (although missing a Browse button) and access those sites. There is also a link to phpMyAdmin, which is a great tool to have available. And there is a novel php code tester interface, essentially a snippet tester.

Next move was to configure DevServer to work out of my existing GitHub repository directories. First I picked a project without a database for now, and was able to access a directory list in the dashboard interface and open the site in my browser, from an automatically created sub-directory under the localhost document root. Any links or images using an absolute path will obviously not function correctly. Otherwise, that worked easy enough.

The real test is to configure databases for my applications in the new test environment. The phpMyAdmin interface worked fine – I created a new user for my dev site, specific for this application, and opted to have it create a database. Then I exported the data structure and initializing data from my existing database and was able to load that no problem.

Next, I created a working directory in DevServer that pointed at my repo directory for this project, just like before. Finally, I updated my projects config files with the correct database credentials. I clicked on the “open in browser” link on the dashboard and… drumroll….. wah wah. It thinks my document root is: C:/Program Files (x86)/EasyPHP-Devserver-17/eds-www .

Luckily, my application is able to work in a subdirectory if it is configured, so presto-changeo, bummer: “Could not connect to database server.” Ok, so long story short, the database comes configured to allow anyone from localhost, and to otherwise require ssh, so I changed my new user to have no password, and to only be able to log in from localhost. That seems fine, but then I get “Unable to select database.” Ugh! So not sure how I fouled that up, but I created a new user then granted permissions for the application database and finally it connects!

Just in this short window I can already see how dev changes and testing can be much easier with a local environment. It realistically took me about 20 minutes to get up and running including troubleshooting. In all, definitely worth it!

Demo WordPress PHP integration

The following is generated by a php script, to demonstrate WordPress integration. Some of the more fun moving parts: gulp file use for sass compiling, Wisteria video timer trigger, REST API integration for data retreival. Created from a Photoshop file.

AlgaeCal logo
Phone icon Speak to our Bone Health Specialists!

Build brand new bone WITHIN 6 MONTHS with this rare algae calcium... even if you're 85!
 

AlgaeCal Plus

Supplement Facts

4 Capsules Per Day
Servings Per Container: 22

Amount Per Serving %DV
Vitamin C 50mg
(as calcium ascorbate)
84%
Vitamin D3 1600 IU
(as cholecalciferol)
400%
Vitamin K2 100 mcg
(as menaquinone-7)
126%
Calcium 720 mg
(from algas calcareas)
72%
Magnesium 350 mg
(from algas calcareas and magnesium oxide)
88%
Boron 3.0 mg*
(as glycinate)
*Daily Value (DV) not established

Strontium Boost

Supplement Facts

2 Capsules Per Day
Servings Per Container: 30

Amount Per Serving
Strontium
(from Strontium Citrate)
680 mg*
*Daily Value (DV) not established

Stronger Bones for 7 Years Guarantee

When you follow directions for use of AlgaeCal Plus and Strontium Boost - we guarantee you will see increased bone density in EVERY follow-up bone scan you have while using these 2 products - or we will refund every penny you paid for our products between your scans. This guarantee extends to every scan you have for the next 7 years! Also, if you are unsatisfied at any time you can return my product for all full refund, no questions asked! Click Here for Details

Dean Neuls
Dean Neuls,
CEO and Co-Founder,
AlgaeCal Inc.

Scientific References

  1. Marques A, Ferreira RJ, Santos E, et al. The accuracy of osteoporotic fracture risk prediction tools: a systematic review and meta-analysis. Ann Rheum Dis. 2015 Nov;74(11):1958-67.doi: 10.1136/annrheumdis-2015-207907. Epub 2015 Aug 6. PMID: 26248637,
  2. Riggs BL, Melton LJ 3rd. The worldwide problem of osteoporosis: insights afforded by epidemiology. Bone. 1995 Nov;17(5 Suppl):505S-511S. PMID: 8573428
  3. https://www.algaecal.com/expert-insights/prescription-drugs-that-cause-osteoporosis/

Click to buy now

Inspiration comes in many forms

Suffice it to say that I’m fully inspired and am spending my (recently increased) spare time getting things launched and working for my company, infsoln. The Task Tracker is nearly presentable and we’re starting marketing efforts, so I’d like to work on some more passive revenue streams that might provide ad space for it. After reading a couple of great articles on monetizing websites, I’m hoping we can supplement our gap with revenue leveraging new and old resources.

If you have the need, I recommend these articles as a good jumping-off point (maybe a little dated and some items are a little shady but otherwise inspiring): 33 Proven Ways To Monetize a Website (or a Blog) – WebsiteSetup.org and 8 Powerful Ways to Monetize a Blog That Generates Under 1,000 Visitors Per Day

So speaking of gap, I know it is rare but I do have some consulting availability! If anyone has short- or long-term projects please contact me – you can now find me on LinkedIn. I hope to begin posting some articles there soon. I did also recently join Alignable, but haven’t yet given it the attention it needs.

I’m also working on some more passive streams…  the smokingtimer.com website, and a couple of others, could be spiffed up and start generating some revenue. I plan to post my mis-adventures here, and hopefully my successes elsewhere (I’ll be sure to post those here, too lol)!

I have a to-do list a mile long in my bullet journal and I’m working through it, including creating a public github repo for ‘resume builder’ sample code for prospective clients to look at. Will have to check it to see what is next!

 

Captain’s Blog

Since this is the Shoemaker’s Blog, I think it should be more bloggy!

Today’s adventures included working on the new Bootstrap look and feel for the AdWriter application site, and prepping for tonight’s launch. There were also a couple of minor support requests – one was a consult for a data import that is changing to a new feed provider who will no longer be sending xml. Another was a db lookup.

The launch items were mostly patch replacements, including several major updates to the API for NRT’s Listing Concierge system, adding support for a domain name under AdWriter’s restricted authentication scheme, and a new custom office division for the Property Parade. Also the PAF form was updated, and the change log.

Besides AdWriter, today the team and I worked on the Task Tracker www site, upgrading it to SiteMinder 2.0 and we hashed out the start of a marketing plan in the infsoln wiki, and revisited pricing schemes and payment options for the Task Tracker application. I researched monetizing on the web and pretty much took a small breather to double check my priorities.

As far as FUN, Judi’s kids were over today, and Morgan from No Flash Ink sent over a rough draft for my next piece – so beautiful! Jim’s bday was yesterday, so getting ready for the party on Saturday. Fun filled weekend coming up!

Zendcon!

It’s been an amazing past few months with lots going on! Maybe I will catch you up on it someday, winky-face…

But picking up where we left off… Zendcon!

Had such a great time last year that I signed up blind early bird! My particular focus last year was on asynchronous APIs and composer. I also attended a fascinating talk on open source AI projects.

Honestly, I was somewhat disappointed with the async solutions. I realize that conferences are for showing off the latest and greatest, but unfortunately that meant the currently available option is out of my reach for now. Wound up sticking with the solution that I have in place – will post the code if I get a chance.

But, if you don’t work on a xenophobic legacy codebase and have the luxury, then honestly I would recommend Postman or some other subscription service for reporting and monitoring API requests and request handling.

The talks on Composer, on the other hand, were so incredibly useful. It is akin to the moment that I learned about version control early in my career. It is easy to install, easy to configure, and easy to use. The single greatest benefit to me has been the ability to create private packages in conjunction with private github repositories. Although, full disclaimer, I don’t have autoloader working. I haven’t done much to look into that mind you, but it is a minor inconvenience at worst.

The upside is incredibly accessible and maintainabe codebases. It’s a no-brainer for anyone with multiple projects that have any overlapping custom components. It has been much easier to start new projects without additional maintenance overhead. For a small shop like mine it makes things possible that we could never have managed before. Three thumbs up!

So needless to say I have high expectations for the conference this year and can’t wait for Vegas in October!

 

The blog selection dilemma

When my next door neighbor and generally awesome person Kelly said she wanted a blog site the possibilities seemed endless. My company has been doing a lot of websites this year and I had high hopes of integrating a third party blog script into our custom rapid development framework. Its been a couple of years since I installed a blog and so of course I went out and looked at reviews, hoping to find something new.

Looking at reviews and feature lists, my first choice was called NibbleBlog. I read reviews, I read their site, and even went to GitHub for a quick code review. Having been burned by deploying small open source software packages in the past, I headed over to look at their open issues list. The first request was from a couple of weeks ago but was unanswered, regarding a bug when uploading photos. The lack of reply seemed to hint at abandonment but I read on. The next issue request was from a user who enjoyed the software package, but wanted to see support for seo-friendly urls. Buried in the ‘me too’ responses to that issue request was a quiet note from the package author stating that the software was no longer supported. Had I not thoroughly reviewed the open issues then I never would have known. Obviously I’m not going to deploy deprecated software, so I moved on.

I returned to the lists of options and sadly dismissed each one, all no longer supported or missing critical functionality. Many that are listed as free are actually not, and I have several reservations about purchasing blog scripts. Few offer support, and many are hosted on scary looking websites. Everyone’s first web coding project is a blog, and there’s no such thing as a free preview when buying scripts. There truly is no telling what the author’s skill level was. So, running out of time, I gave up and deployed WordPress.

Don’t get me wrong, WordPress is fine, but it doesn’t advance my original goals of creating a custom blog module. And I’m still salty after Polish spammers took over my last WP install and were hocking kayaks on my home page (not kidding). I get a lot of work requests to make custom WP apps, but I really wanted to offer a simple alternative to my clients.

So I am sad to report that, like Wal-Mart, WordPress seems to have effectively eradicated the little guy in the CMS and blog world. If you know of a php blog package that can integrate into an existing website, be sure to leave a comment. In the meanwhile, welcome to my WP blog!

 

Bomb Ass Domain Name

Drew, from AJ’s Home Services, LLC just landed a freaking sweet domain name for his upcoming site. I won’t spoil it until the site is ready, but way to go man!