HagenTek Internet Technology (Teknologi) development. We're a resource for technology companies. We make user-friendly, functional websites and blogs.

We do graphic design, including logo and branding. We help manage social media content and build audience engagement. We create new technologies to help make the internet a nicer place to work and play.

03/12/2018

A Proper Coding Den! Lights! Metal! SCREENS!!!

12/02/2017

Y'all, this is just sloppy!

Warning: Declaration of Suffusion_MM_Walker::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /homepages/14/d683209592/htdocs/FBGeography/wp-content/themes/suffusion/library/suffusion-walkers.php on line 39

When you google for a piece of information, THIS page comes up as a table source! When you're getting THAT sweet traffic, it's not a bad idea to disable all warnings! 'cuz when you're that public and you're putting out THIS much info in a warning, you've done half the hacker's work. And yeah, they'd LOVE to get your site and get that sweet google-table traffic!

But since we have this, let's think like a hacker! Let's see what's been exposed here. Remember: Thinking like a hacker is a good practice! You play a better Devil's advocate to your own measures.

Ok, first, I know they're leaking warnings. Now I wanna crawl their site and see what OTHER warnings I can find and harvest info from!

Second, a quick google search of "Suffusion_MM_Walker" tells me LOTS of pages have this leak! Maybe it's this class that people are installing. If it's leaking warnings, it may be a sloppy class I can exploit!

Third, let's look at the error - It's complaining about a method being called on the object. THIS has now given me the expected arguments AND their types. I also see a pass-by-reference. I see what they the method can run without - which means if I get in there, I only need two arguments!

Fourth, oh! What a pretty directory schema! I now know their entire public htdocs path from the root to the library! I know where the default apache htdocs folder is. I know that this class has its own folder. And I know that I'm in a wordpress site (if I didn't know already) - Brilliant!

Fifth, a search on this filename shows me it's a WP theme available on git-hub! OMG! That's AWESOME! I NOW have a copy of source code running on this server!

Sixth, We know WP is obsessed with NOT showing errors. THAT means this theme is actually turning them ON somewhere.

If you're running a site, and it's showing any warnings - fix them and hide them! this one line of error has given me a wealth of information all by itself.

03/24/2017

You've started seeing them here and there. Expect to see more of them. I speak of USB-C ports.
You've seen discussion here before about the Thunderbolt interface. Apple is the largest implementor of it.

Thunderbolt 3, today allows for 40Gbs. This is in the same range as Infiniband used in high volume data research such as at the Large Hadron Collider.

USB and Thunderbolt have been sort of racing to achieve the higher speed. But the big thing USB brings with it is a more universally adopted connector.

Well, Thunderbolt and USB fell in love and had a baby. They named it: USB-C

Well, that's not a perfect metaphor, but it gets the idea across. Here's the deal: USB-C connectors are now the standard connector for Thunderbolt 3. USB-C is also a connector type for USB 3.1 which itself is 10Gbs.

The connector is adaptable. If you see a USB-C port, USB devices will work with it, even if it's really Thunderbolt-3 in the host device.

High quality USB-C cables support Thunderbolt 3 over a short distance.

The neatest thing about USB-C itself though is the physical form factor. It's small, about the size of a lightning head. AND! It's orientation agnostic, like the lightning cable.

SO! You have the Speed of Thunderbolt 3, if it's a Thunderbolt host and device, the universal adoption of USB. And the best parts of the lighting head physical characteristics, All in one cable.

The "rules" can seem complicated, but they're really not.
1) if you have a USB device with a USB-C cable, it'll work with any USB-C port you see.
2) if you're port on the host is Thunderbolt, and the device is Thunderbolt, then it'll work.
3) conversely, if you have a Thunderbolt device, but not a Thunderbolt host, it just won't work.

Oh! As a bonus: USB-C is also a power specification. If you plug in a power adapter into the USB-C port of a so-equipped laptop, it'll charge it!

This is why the new MacBook Pros only have USB C ports. (4 of them on two Thunderbolt 3 busses). It handles power, and devices, all through one connector type.

Look for USB-C to start showing up on phones. In that space, all adapter/ connector problems are solved with it. Look for them on chargers and other USB devices as well.

It simply solves all of the problems of USB and Thunderbolt, and adopts all the benefits from both at the same time.

A technological perfect storm!

07/14/2016

So you're designing your database, and you have a resource table and you have an assignee table to tie to it. Say, People to Cars.
Now, when you're told early on in the requirement that there will always be a 1:1 relationship between the two entities (one person per car) you dive right into your first-order normalization practices and make a field in your car resource table called "Owner_User_ID" or user "User_ID" or "Person_ID"

That's great, and there's nothing wrong with that.

BUT, what happens, when, half way into the project someone says, "OH! a car can have two owners - we TOTALLY forgot about xyz"

Well CRAP.

Now, 9/10 Db admins would depart into a tertiary table, but some would make the near-fatal mistake of making a second Person_ID field.

That person should be chained and whipped and never allowed near a keyboard again! What if there's a third, fourth, 10th? What if you have to xref persons to cars and a person can be in person_id_1 or person_id_2 - no no! BAD Db Admin! Bad!

Most of us would just do the tertiary table and be prepared for a one-to-many relationship, or even, heaven forbid, a many-to-many relationship.

Here's what I've learned: Just do the tertiary table. It costs almost nothing on the xref, and you're ready for the one to many when they pop in with it (and 7/10 times they will).

You can create a view that joins Persons to Cars via Persons_2_Cars table. Having a tertiary table does not forbid you from a 1:1 relationship between the two tables. AND, if you want to FORCE a 1:1 relationship in the beginning, simply unique-key the Persons_2_Cars table on the Person_ID+Car_ID - that way there can never be more than one person to a car or one car to a person. If you need many to one (a person can have many cars) you just uniqe_Id the Car_ID (the car gets only one owner) - when it's time to have many to many or many to one or one to many, you just do normal indexing on the individual fields.

Some will argue the join will cost you time. I agree. It will. AND, if you're 100% confident there's ALWAYS a one to one relationship, then put in the field, that's what it's there for - everything unique about the entity (first order normalization) - and you get the performance.

BUT, if you have ANY inkling that it could go one to many or many to many, just do the tertiary table and have it ready to go.

07/04/2016
05/28/2016

Technology: it's not just the iPhone you hold in your hand or the computer you use. It's a concept. Anytime we invent something that helps us, for good or for bad, we are employing technology. The wheel is technology. Fire is technology.

Technology, like knowledge, is neither good or bad. It just, is. It's what we do with technology that defines us. Do we use it for the good of mankind, or do we use it to be lazy?

Kids get a bad rap for being on their cellphones all the time. We blame technology. I'd like to challenge that notion. Perhaps it's not the child, or the phone, but us. Do we guide our children on the use of this technology? Or do we just hand them the phone because we are tired of hearing them complain?

The phone itself is not bad. Our children do as they are raised. I'd like to suggest taking some time and talking to your children about the technology in their hands.

And if you don't know what to say, give me a yell. I'm happy to help.

05/14/2016

New post on HagenTek - some Pro-Tips on writing on the internets. If you blog, or just want to be more interesting on FB, there may some useful nuggets in there.

And if you find HagenTek (my humble company) interesting, please toss me a like - not 'cuz I care about the score, but it tells me I'm doing something interesting and, well, makes me feel good! :)

05/14/2016

Here's a Pro-Tp for deciding on topics you wish to post about. Whether they be on your blog, or Facebook, or Reddit.
The VERY BEST things to post about are things that interest YOU, and even better: About You.

Why?

'cuz, by default, it's unique and interesting. Post from the heart about what YOU believe, or about what interests YOU is interesting and useful to people.

Interesting and Useful should be your goal.

The truth is, people want REAL. And your life lessons and experiences are real, and useful - the very essence of online posting.

Now, some pro-tips.
First, while it's good to listen to consultants for the basics, do NOT just do what they say! Why? Because everyone ELSE is doing what they say. They'll tell you the optimal time to post is 8am, 12:30 pm, and 6pm, for example, because this is when people read the internets more. Makes sense, right?

Well, if you do THAT, you will be posted right alongside the millions of others that know that that's the "optimal" time. And it gets over-crowded.

Second, they'll tell you post on popular topics. Guess what? They're "popular" for a reason. You'll be passed right along as "oh, another 'astrology day' post - NEXT.

Instead, post your feelings and thoughts on something that isn't THE most popular topic. While the best is to post about yourself, if you want to go with world events, pick something of interest to you. Chances are, fewer will be posting on it, and you'll write better about it because you're engaged in it.

Third, don't go for the numbers - ignore the numbers - Don't live and die by your KLOUT score. Use KLOUT as a tool that gives you feedback on how your postings are being received. THAT is the reason I'm on it. I could give two flips about my "Klout Skore" I DO care about data that reflects my post reach. If it goes nowhere, it didn't interest people or add value. Ifi it "gets legs" it means I hit a nerve with my followers, and they probably want to know more.

Fourth, don't latch on to the "viral" stuff. Actually, avoid it. You'll get lost in the noise. Now, it's ok to use it as a kick-off to discuss something else. But don't just post "hey, look at this!"

Fifth, and probably first, Think about what you're about to talk about: Does it add value? Is it worth someone's time reading? Would YOU enjoy it?

Sixth, it's OK if people disagree with you - in fact, that's Awesome! It means productive discussion is occurring, which is your goal. But also, your engagement is increasing. For every person that posts or comments about what you say, 50 are reading it and liking it. For every Share of your post, 75 like it too, and it's going to reach everyone THAT person knows. It also means you said something that resonates with someone SO much, they wanted the world to know.

So, stay away from the latest buzzwords. Stay away from orders from the consultants. They ARE smart, but listen to them for the basics, for the philosophies.

If you are depending on them for topics, it indicates you don't have enough interesting things to talk about on your own - and you may be in the wrong business.

Post from your core - that's real - that's what people what - that's what people value - that's what helps people.

Post from your heart

And, for GOD's Sake, Watch your Grammar! Don't be shy about editing a post for corrections. (we often type faster than our fingers can go)

04/22/2016

I promised to earn your like. I so much appreciate them. I don't take them for granted.

This post is aimed at young technical people, but, there's some stuff in there that might apply to a lot of fields.

If you have anything you'd like me to discuss, explain, or just write on, please let me know. I may not know anything about what you're wondering about, but if it's something a lot of people could use, I'll go study and learn about it. That's actually one of my favorite things to do! :)

04/22/2016

The advice I give to young IT people (who will listen, we're a cocky lot) is to diversify yourself and never stop learning.
The very nature of your field is dynamic and ever-changing.
But don't be a tech-tramp either - just latching on to whatever buzz-word is out there.

Your judgement, that will develop and improve as your career progresses, will become refined. You'll see what sticks, and what comes and goes. You'll see how technology is used, and how it's abused.
Don't bury your head in the code: Think about who's using your product, what the goals of the product are, and what the future of the project will likely hold.

You MUST think 4-dimensionally. If you get comfortable in a single technology or a single language, you will pigeon-hole yourself and you'll be the one complaining about the young bucks coming up getting jobs you missed.

Instead, be the one that learned the 4 dimensional nature of the industry, that not only can work with whatever is current, but can anticipate and predict the future of a technology and how to best position someone, or yourself for it. Be the one that's Hiring those young bucks. Be the one who teaches them.

Like I'm teaching you.

04/03/2016

Oh WOW! We're SO close to 100 likes! It would be AMAZING to get there! Facebook sends you a check... wait... no they don't.... ummm.... You get a free... ummm... nope...

There will be THREE DIGITS in our like count! YEAH!

03/12/2016

What do you bring to the table? What unique contributions do you make to the discussion at hand? Are you just agreeing with everyone, or are you respectfully challenging them with other valid ideas? Do you bring seafood to a spaghetti dinner? Do you just bring more Spaghetti? Or do you bring the freshly-ground parmesan cheese?

There's a famous saying in business: If two people agree all the time, one of them is unnecessary. I'll add: And that's a formula for death spiral. Complacency reigns and innovation dies.

Don't go to meetings with the thought of "I hope I don't sound stupid" - or "I hope they don't ask me anything" - go with "I can't wait to contribute! I can't wait to see what comes out of this!"

If you find you cannot do that, then it's time to build your skills. It's time to build up your arsenal. It's time to add things to the utility belt. It's time to grow. It's time to learn.

But, guess what? That's true even if you DO go into those meetings with something unique to contribute.

Never stop learning. Never stop growing. Never stop adding tools to the utility belt.

Batman's utility belt didn't start off with all the tools it has. He added more and modified it more with each encounter. With each encounter he learned something, and applied it to his skill-set and tool-set for the next encounter.

At the same time, temper what you spend your growth-time on with some wisdom.

One of the most pervasive things in the world of IT is buzzwords and new-fangled gadgets - often these are tools looking for a problem to solve.

Sharpen your sense of what's going to work and what's going to die. Don't just latch on to the latest term. Being the latest alone is not a qualifier for a useful, new technology. The best new things are things that are created from the time-proven things adapted to modern problems. Sometimes, someone hits on something new that's never been seen before and it takes off. That's great! But don't spend all your time there!

Address

3212 Country Club Road
Mountain Brook, AL
35213

Alerts

Be the first to know and let us send you an email when HagenTek posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Share