Friday, May 22, 2020
Pholos - Magos Biologis
Wednesday, May 20, 2020
Learning AWS - Reflections after a Year in the Cloud
In 2018, a new job for me meant a new tech stack: AWS. Regardless of how long you’ve been developing software, new infrastructure can make you feel like you're starting from scratch. Jumping from a company with a cold room full of mainframes to somewhere cloud native was a shock, but I've enjoyed learning this wide world of cloud^h^h^h^h^hsomeone elses computer. If you feel like a cloud n00b, this post collects tips and tricks for learning cloud development from zero.
As with everything, pace yourself when trying to understand AWS and how to use it. If you feel blocked, put down one service and try another. I have found my happy path is a mixture of study, practical labs, poking around company infrastructure, and handling support rotations. Each contribute, in the long-run, to understanding the available services and building effective products upon them.
The Basics - AWS Vocabulary
The Cloud - Someone else’s computer. Keep this in mind when learning about AWS. It’s all just servers in a data center somewhere else. AWS may take care of a large or small portion of managing these computers for us, and they charge a large or small fee for the privilege.
Identity Access Management, IAM - Amazon’s method of controlling access and permissions to AWS resources. Users can have multiple IAM roles. EC2 Instances use IAM roles. Policies rely on IAM roles to allow/deny access so you only make resources available to those that need to access it.
Regions - A set of AWS data centers that are geographically related but operationally separate. Resources, accounts and VPCs can occupy a specific region.
Availability Zones - Each Region has at least three AZs. Each AZ is a data center separated from others within a specific Region. Each have independent power, cooling, and compute resources to enable you to add fault tolerance to your applications. If internet connections or power to one AZ goes down, you should be able to launch resources in the remaining AZs to compensate for the outage.
Fully Managed Service - AWS services that are fully-managed handle scaling, replication, fault-tolerance and latency without you needing to consider it. A big one is managed Elasticsearch clusters. All you need to do is specify a few parameters and AWS configures the rest (for the most part). Though you don't have to do nearly as much management, learning how to tune managed services is still up to you to solve.
EC2, Elastic Compute Cloud - Virtual machines you can launch on a whim, using the OS you desire, configuring them as you please. This is the backbone of AWS's successes. EC2 is the opposite of fully-managed services. AWS gives you the box, and you do the rest.
Learning Resources
AWS has a host of resources available to help you to learn what options are available. If you’ve never worked with a cloud provider before, I suggest taking some of their video training for Cloud Practitioner Essentials. Login with an Amazon (not AWS) account at https://www.aws.training/. Some trainings include labs that walk you through how to start your own instances, marshal AWS resources, and build a thing for yourself in the cloud. Pick something that matches your skill and engagement level, or use their workshop syllabus to self-guide training.
One of the best ways to learn cloud infrastructure is by doing. AWS offers a massive amount of services at a free-tier. Small VMs, hours of lambdas, and lots of S3 space can be used to learn a service without paying a dime to Amazon. YouTube tutorials about services often are built specifically to never breach free-tier levels of usage. Take advantage of this if getting your hands dirty helps you learn the best. Various online learning companies have video training and integrated quizzes/tests. Some have labs that rely on the free-tier of AWS so you can learn at basically no charge. If you're learning for work, talk to your manager about supporting a subscription if you have a specific avenue of study you want to go down:
https://www.youtube.com/ + Search for any AWS Service
If you’re a book person, AWS sponsors official study guides for each certification they offer. These can go out of date fairly quickly, but even an old version will help you get your feet wet when using a prominent service (DNS is DNS, and a Route 53 study guide will be largely applicable next year as last). Check the public library for a guides that will be applicable even if they aren't current. Find a slack channel at work or speak with experienced engineers. Context from experience can break a logjam of misunderstanding faster than reading the AWS docs for the fifth time.
Certifications
The AWS certifications are not required to work with cloud resources, but they can be a big boost to your confidence. If certifications and tests are your preferred method of study, here are a few lines that have been recommended:
AWS Cloud Practitioner Essentials - Good overview of AWS resources, administration, security, and budgeting. Take this if you’ve never used cloud resources before and want to come up to speed fast. Available as a series of videos with a free online test for certification.
AWS Solutions Architect - This is another broad level of study that can be useful after studying Practitioner. It offers a good overview of current offerings at AWS. You might use some, others not so much. Sometimes it feels like a sales pitch for their managed services, but the curriculum is useful for determining what is possible during the initial phases of a project. The multi-tiered certifications offer a learning path that can scale to your experience and career trajectory.
AWS Certified Developer - A deep dive on developing with AWS, the Developer cert study can be helpful in learning how to build on AWS as a developer. The practical labs and study areas cover some of the same problems you might have to solve every day in taking an idea from concept to supportable, sellable, product. This set of certs is also multi-tiered, and it can scale with your own experience if you feel like you need a fresh challenge.
AWS Certified SysOps Administrator - Another deep-dive learning path that can help understand how to configure, secure, and economize cloud resources. Covers management and tooling available to keep a cloud running smoothly and safely without breaking the bank. Also has multiple tiers of certification.
Yarn Pet Mod - Platform for One Pound Cakes
- Found a home depot pine board in my scrap bin that was 5 3/4" wide. Solid wood is preferable to plywood which can get splintery and snag the yarn. Avoid knots if at all possible.
- Cut length to match width.
- Find the center by marking two lines from corner to corner
- From center, use a protractor to mark 22.5 degree increments to the edge.
- Drill a hole in the center mark. To fit the Yarn Pet spindle, I needed a bit with a width 7/32".
- Using a table saw with miter gauge set to 45 degrees or a miter box, cut your square into an octagon
- Test your new platform on the spindle. My square was about a quarter inch too wide at the widest point, but it had plenty of play between a flat side and the curlicue. I knew trimming it again would allow it to spin freely.
- I trimmed my octagon into a hexadecagon by setting my gauge to 22.5 degrees. (Towards the end of the piece, the side touching your miter gauge will be incredibly small. Keep a firm grip, and beware of kickback!)
- Sand the tarnation out of every surface with 150 up to 220 grit. You can see in the picture above that I rounded every edge and corner. I chose not to finish the wood, but I can always go back and do this between knitting projects.
- I thought the thickness of the platform might be an issue, but it turned out to be perfect for giant cakes. The added thickness prevents the platform from wiggling on the spindle. You can plane down your board to match the included platform circles, but then I might be worried about their integrity. As is, the yarn comes off cleanly with the center-line of the cake coming just above the curlicue. So smooth...
- When putting the largest cakes on the pet, use the rubber stoppers for spindle-wound skeins to keep the cake centered on the spindle. This will prevent wobbling due to a loosening center as it is pulled from side to side.
- If you have a circle of the appropriate width and thickness already, all you need to do is find the center and drill it. Couldn't be simpler.
Surviving Dementia - Signs of Trouble
Thursday, April 23, 2020
Taming an AnyCubic Kossell Pulley 3D Printer
- Use DaHai's configuration video for starters.
- Upgrade the firmware to Marlin 1.1.9. I ended up using 1.1.9.1 as of this writing.
- Use DaHai's files and modify them to work with stock Steppers. Use Arduino IDE to load the firware after replacing Configuration.h and Configuration_adv.h (which I did not make changes to). Here are the changes I made to his Configuration.h:
- Line 624-626: Change these from his upgraded TMC2130_STANDALONE to stock A4988
- Line 705: I got crazy loud stuttering when first descending to the bed during a print. Lower this to get rid of that.
- Line 868: I and several people online have measured and gotten good resulting prints with the Type 2 Probe Offset at -15.88
- Line 938 to 940: These need to be true for stock steppers. DaHai's steppers did not need to be inverted.
- Line 1358-1364: Define your temperature presets. I have used PETG to great success with a preheat of 70C for the bed and 230C for the hotend. This rises to print at 80C and 245C respectively during the print.
- When following the leveling instructions, the video shows a "Set Delta Height" option that is absent in the version of the firmware I loaded. This caused me no end of headaches later when the method of subtracting the bed distance from both the Z-Height and Probe Offset produced weird math and never worked properly. Instead, I ran auto-calibration, saved the settings, then:
- Noted my Z after going to Prepare -> Auto Home
- Brought the nozzle to the bed using Prepare -> Move Axis -> Move Z until a business card wouldn't move when squished between the axis and the bed. I then noted the height
- Changed my Z height only by this amount by subtracting the number from the Z height, and a negative Z Height is thus added.
- Saved and Auto Homed
- Set my Probe Offset to 15.88 per recommendations online.
- Checked it again and only touched the Z Height when it was off. Repeat the Z height move if this is still not right.
- With the printer calibrated, it was time to print. I just used Cura because I couldn not get Slic3r or Pronterface to work easily. Cura does not have the Kossel in it by default, but it can be easily added. JDHarris on Thingiverse even shared the configuration file they made which can be picked up by Cura after a restart.
- I printed with PETG which has a high temp but no fumes. I found hairspray for adhesion worked best thanks to several awesome tips by people connected with the PDX hacker community. Thanks all!
Wednesday, January 22, 2020
New Year, New DEF CON
I'm more than a year out from a move that took me far from my hometown of Las Vegas to an adventure into the Pacific Northwest. Budgets, family and time being what they are, I too had to ask myself, "What makes you a hacker? Why should you go to DEF CON, again?" Obviously, moving two states makes it harder to go. Plane tickets are cheap enough in cattle-class, and I'm lucky to have family and friends in town upon which I can rely for lodging. But family illness and obligation are also considerations, and this feeling in the pit of my stomach topped it all off: the idea that I no longer belonged.
Ironically, this security-focused community is affected by deep insecurities. Concerns of legitimacy, competence, and belonging haunt us collectively, as do public examples of snake oil, burnout, and depression. Discussions of Impostor's Syndrome are almost cliche in their frequency. As is the mouth-agape disbelief following one of our rock stars admitting they second-guess themselves. This loose band of social misfits and punks emerged from in our cocoon of BBSes and IRC to be famously dysfunctional. We have had to exorcise #MeToo demons, and our unhealthy relationship with alcohol keeps many away for fear of their own safety. As a late-comer to DEF CON, I have not been personally affected by loss of friends in the community, but there's a reason Amber Baldet gave a talk on Suicide Interventions at DC21. Hackers in my cohort are maturing as well. Some of us are on their third career since the demoscene, and it has veered wildly away from any Information Security role. There has to be something that keeps us coming back to the desert in August. It sure ain't the unmistakable fragrance of Sunday morning talks.
It is a bit of a balancing act to maintain a conference that keeps drawing more and more people. As of this writing, DC28 is scheduled to use almost 400,000 sq. ft. of conference space in a brand new facility. Almost 30 villages with both broad and niche topics have formed, and each is a mini-con in and of itself. Along with this widening scope, there were public and repeated attempts by The Dark Tangent to reestablish DEF CON as a Hacker event and set it apart from the Information Security industry where so many of its attendees find employment. In the past, DT has publicly disinvited the Feds, and the run-up to DC27 saw another public clarification that while individual villages arrange their own sponsorship, DEF CON maintains no corporate sponsors. You can see the push and pull of "What makes you a hacker?" at the highest levels.
And so we approach a new year and a new DEF CON. Since DC19, I've grown with the conference. I started managing Toxic BBQ with the help of friends and this will be our fifth consecutive kick-off barbecue. People just show up to create an inviting space from scratch for anyone that can find it. I won a Black Badge with my son at DC 26 by solving crypto puzzles and have tried to contribute in equal measure since then. And yet there's this nagging feeling...
Ultimately, I've decided the gate-keeping question is not an important one to answer. What I give to and get from DEF CON keeps me going. I'm comes down to a desire to think things I have never thought before. I may not be able to show off like some, but I can gawk with the best of them at the Hacker Carnival. DC28's theme, Discovery!, is right out of my high school years when the internet promised the sum-total of human knowledge at our fingertips and all that we could do once those barriers dropped. Maybe we can celebrate by shedding our insecurities. Just for the weekend.