Tag: Strengths

ProjectXyz: Why I Started A Team For My Hobby Project

ProjectXyz - Why I Started a Team

Who Needs A Team?!

I’ve been building RPG backends for as long as I’ve been able to code. I think my first one that I made for my grade 11 class is the only RPG that I “finished”… It was text-based and all you could do was fight AI via clicking attack, buy better weapons, level up, and repeat. It was also 10000 lines of VB6 code and so brutal that I couldn’t add anything to it without copying hundreds of lines of code.

Since then, I’ve had the itch. I keep rewriting this thing. I keep taking “Text RPG” (super cool and catchy, I know) and rewriting it. I had my first visual representation of this game called Macerus (here’s another rewrite for unity), which is actually how I landed my first co-op job. But every time I’d get so far, I’d decide I needed to rewrite it because I had messed up the architecture in some way and refactoring would be too much work.

My latest attempt is called ProjecyXyz, because I can’t come up with names. And funny enough, I just Googled it while writing this article and there’s actually a company with the same name… So maybe I’ll have to get more creative. ProjectXyz is supposed to be a very generic RPG game framework that allows new systems, mechanics, and game content to be dropped in, in addition to being independent of a front end for rendering.

It’s also something I’ve been making on my own. Because I’ve been making RPG backends on my own for years now. So who needs to have a team, right?

Too Much Pride For A Team

I think initially I wanted to do this all on my own because of pride. I also don’t think it was something I was conscious about except for the fact I looked at this project as my baby and something I could control the development of. I wasn’t consciously telling myself “I have to do this on my own so that I’m better than other people” or anything silly like that.

But why would I go ask others for help? They don’t code like me. They don’t have the same investment into this idea as me. They aren’t as passionate. They might have their own ideas for how to do things too! How could I have someone like that working on MY project?

Those are all pretty naive reasons for considering to work alone though. Sure, this is my pet project and I’m going to likely feel more attached to it than anyone else. That’s probably expected. It doesn’t mean that I can’t find people that are super interested in working on something like this. They could be totally passionate about learning different aspects of creating an RPG backend.

As for having their own ideas… That’s probably one of the BIGGEST reasons in FAVOUR of having a team! It’s easy to get scared about having other people put their ideas into something you feel like is “yours”. It might have taken a few years of working in the industry (currently just passed 6 years of working at Magnet Forensics), but it’s actually very common for other people to be contributing ideas into code bases you’re working on. It happens every day. Sometimes you have design meetings or code reviews or general architectural discussions and your idea ISN’T the one that’s picked. That’s cool! As long as everyone is striving for extensible and testable code, we can make changes if we need to going forward. You don’t need to make every decision and sometimes it’s much better that way. Other people are smart too ūüėČ

Passion is Key for a Team

While the “team” I started isn’t an official team, it’s the first time I’ve been very open to having people directly contribute to my pet project. I think one of the most obvious reasons I became comfortable with this is because I found someone that was very passionate about exploring this space.

My colleague and I were talking about some of the concepts in ProjectXyz and where I wanted to go with it. Immediately he expressed interest in map generation and how that’s always been something he wanted to explore. How can maps be procedurally generated? Can we take this concept and generate maps on the fly? What are memory and runtime constraints? How do we represent this information in code? What about persistent storage?

I could immediately tell he was very curious about how a system like this might work. After several conversations with him about how he was starting to hack up some ideas and doing research on different algorithms, I knew he was passionate about it. We discussed working on some of these things together and contributing to the project code that I have, and we’ve been going back and forth for a few weeks now sharing ideas and his progress that he’s making for map generation. I’ve been hands off only really acting as a sounding board for him.

I think having someone passionate like this is critical for a small team. There’s going to be many barriers when working on a challenging project, and it’s easy to get bogged down and lose motivation when you’re stuck. Having additional people that are passionate about seeing progress in your project means you have some support for pushing through those hard times when you might lose motivation. If my colleague comes to me and says “I’ve been stuck on this issue and maps wont generate how I want…”, then I’m more than happy to sit down with him and talk through his algorithm and maybe where there’s an issue. I’m invested in seeing his piece come to fruition. Similarly, if I’m working on something like dynamic item generation for the game and I get stuck, I know he’s there to do the exact same thing. We both want to see this thing working how we intend.

So passion is important for a team. But is it sufficient? Is it the only requirement for adding a team member?

A Team is Built on Trust

Trust! Trust is a huge part of establishing a team because you need to be able to rely on each other. As mentioned, my colleague is passionate about working on this and has an interest in map generation. But what if I had never seen any of his code before? What if I didn’t know if he’s had practice with writing extensible code, testable code, following good design practices, etc… What if?

To be honest, I probably would be pretty nervous about him contributing code. It might be a huge barrier for me. I’d want to review his code and make sure it wasn’t “polluting” my pet project. I’ve re-written this code enough times that I really don’t want to have to think about rewriting it again! If I was nervous about someone contributing code I was going to need to re-write from scratch just to have an extensible design, it might not even be worth it having them contribute in the first place. It might actually create MORE work in the long run. It sounds selfish, but if the goal of adding someone to the team is to provide a net positive effect, then having to re-write code that isn’t up to par might be a deal breaker.

But that’s not the case here. I have multiple years of experience working with this colleague closely on various projects. We align to coding practices but still have our own twist on things. We value the same things in “good” code (extensible and testable). We use many of the same design patterns in similar situations. I’ve seen enough of his code to know that most of the time my comments about it are “oh, have you considered” and not “… you need to rewrite this”.

I can trust that what he wants to contribute will be aligned to my vision. I also can trust that new ideas he introduces are probably awesome new perspective that I hadn’t thought of. I also trust that if we disagree on something, we’re open to discussing it and coming to a resolution. So trust in this case certainly removes the barrier to entry to adding additional people to my hobby project.

Should You Form a Team?

While this was a pretty general article, I just wanted to get you thinking about opening up your hobby project(s) to other people to contribute. This is something I wish I would have considered more seriously early on. Maybe I wouldn’t be re-writing my project for the millionth time!

Some general points:

  • You’re not a “worse” programmer for getting other people contributing. Good programmers need to be able to work with others!
  • Other people can have good ideas too! Sometimes, they’re even better than your own ideas ūüėČ
  • Other people may have more knowledge or interest in areas that need to get work done that you just don’t want to do! Perfect!
  • You’ll want to try and find people passionate about working in the area your project focuses
  • You’ll want to find people that you feel like you can trust so that you’re comfortable with them working on “your baby”
  • Getting help doesn’t mean your code must be “open source”. You can still share private repositories together (i.e. consider BitBucket!)

So what do you think? Is your hobby project kind of stale because you’ve hit enough roadblocks and it’s time to get some more firepower to tackle it?

Share your thoughts below about your experiences with forming teams for your hobby projects!


Doubling Down: My Specific Strategy

Doubling Down: My Specific Strategy - https://www.publicdomainpictures.net/en/view-image.php?image=130306

Doubling Down: The Quick Background

I recently wrote about how and why I’m looking to double down on my strength to improve a weakness, and I figured it would be a great follow up to try and explain the specifics in my strategy. It’s an interesting learning opportunity for me, so why not share it with those that are interested?

The format of this post is really just to call out the specifics of some strategies I’m looking at exploring when building the brand for my vehicle to help with sponsorship opportunities.

Reach Outside Core Audiences

This one shouldn’t be a shock to you if you’re familiar with this blog already. It’s primarily aimed at programming, leadership in a tech environment, and self reflecting as a means to improve. One of my goals is to explore attracting other audiences that might have a bit of overlap with my core audience in order to build up awareness of my brand. In this particular case, I’m writing about branding in the online world and attempting to relate it to setting personal goals and establishing a plan to reach them. So while this topic is outside my core domain here, I think there’s some interesting overlap, and working on this will help me build up the knowledge for how to apply this to my vehicle brand.

I’d like to practice on this blog by writing about some things that are slightly outside of the norm for the content here and gauge how readers react. This learning will be used to expand the brand awareness of my vehicle when I apply it in that domain. Or that’s the theory, at least.

Linking to Related Content

If you’ve been paying attention, I’ve been trying to link you, my fearless reader, to other content I’ve created. It’s a simple tactic to provide you with more opportunities for the information you’d like to read more about and simultaneously keep you engaged with more of my own content.

The specific goal here is exploring how readers consume related information. When it comes to my vehicle brand, perhaps those that are interested in the wheel brand I use will also be interested in the air suspension setup I run. Perhaps the shop that does my work can gain more business because someone clicked a link or followed the breadcrumb trail to their site. Something about content synergy <insert eyeroll>.

Content Planning

Between the last post on doubling down and this current post, I had to do a little bit of work beforehand to plan content. This is something I need to practice more of, and I think I can do a good job of it when it comes to writing programming articles. So for example, I’m picking up more Unity3D work and would love to write more about Unity3D.

This will have great carry over for social media platforms when trying to plan content around events that my vehicle will be at. I can engage audiences better if I have a better plan for content, but this will take practice, time, and effort. The practice part is something I can work at on this blog with little risk because it comes a bit more naturally.

Ads: Hosting Them and Creating Them

This is a big one for me because it’s very new to me, in general. This blog runs ads, and without much experience, they’ve been able to generate a little bit of income (and I mean, very little). It’s something I can work at tuning to get better results, especially because I at least have a starting point to work with.

On the flip side, I’ve never created ads for my blog to drive traffic to this site. This is something I need to explore in order to help with the vehicle brand, and is a great example of doubling down on a strength. This devleader brand has better online presence (at least in terms of a website) than my vehicle’s brand. I think it would be a significantly easier experiment to work on creating ads for this site to drive traffic here and perhaps use my small ad revenue to seed this initial experiment. Minimize the risk!

Once I learn how to use ads better, I can perhaps apply this to the vehicle brand to drive more traffic to the content I create for that.

Calls to Action

For social media engagement, it’s really important to have calls to action. In the last post on doubling down, I added a call to action right at the end of the post. Did you see it?

Maybe not, and that’s okay because I’m practicing it. For Instagram and Facebook, it’s extremely helpful for generating impressions when you have your audience interacting with you. The more practice with creating good calls to action, the better I can do with my vehicle brand.

Next Steps

My next steps for my doubling down strategy are to start with creating some Unity3D articles. As I mentioned above, I’m looking to work more with Unity3D so it’s another great doubling down opportunity where it’s minimal investment for me (I’m already doing the research, I just need to write about my experiences) and a low-risk area to experiment in. I can practice some of the individual pieces of my strategy (as outlined above) in creating a series of Unity3D articles, and measure my success along the way.

If you’re a Unity3D programmer, what sorts of Unity3D articles would you be interested in? I plan to start some on Autofac and some cool patterns I’ve been using, but I’d love to hear what you’re interested in!


Double Down On Your Strengths!

Double Down on Your Strengths - https://www.publicdomainpictures.net/en/view-image.php?image=130306

Double Down: Why I’m Working This

I haven’t written in a while, and despite setting a goal for myself to start writing more, I’m not going to kick my own butt over not getting around to it. Actually, if anything my priorities and goals have been evolving over the past while and it’s been a great growing opportunity. Previously, I wanted to start up writing again to work on my ability to self-reflect. In all honesty, other factors came into play and this started to happen more naturally without forcing myself into writing more.

Now that my goals are changing again, I’m realizing that I need to come up with some creative solutions for addressing them. For total transparency, one of my hobby goals is creating a brand for my show car, Ignantt. It’s a fun hobby of mine, and in order to keep it going I’m looking into sponsorship opportunities to take things to the next level. Sponsors are interested in your social media reach, and rightfully so. They want to make sure they can reach a wider audience by working with you.

I’ve been active on social media for my vehicle’s brand, but I’m interested in accelerating this. One option I’m exploring is paid promotions, but like many people, I’m a little bit skeptical and I feel weird about spending money out of my pocket to do this. Social media marketing is certainly not a strength of mine, but I would love to work on that.

So that’s where my creative strategy comes in!

Focus on Weaknesses or Double Down?

I read a lot about focusing on your weaknesses to become better and more balanced, and that concept makes sense to me. It’s going to take trial and error in addition to consistent effort to become better at something. Time. Resources. It’s just the nature of the beast. I’ll give you a few examples:

I’m interested in strength training. When you’re looking to improve a lift, whether it’s your bench press, your squat, your deadlift, or any other lift, you need to actively train that movement. As a novice, you’ll quickly see strength improvements. However, as your body adapts these improvements slow down. If you’re trying to increase your one rep max and progress is stalling, it might be a great opportunity to train strength in other rep ranges that you’re lacking in. The side effect of this can be that your one rep max strength breaks through a plateau. Maybe you have a weak body part you need to build more strength in, and as a result, fixing this imbalance allows you to continue to progress in your strength. These are all examples of working on a weakness to become stronger in another area, and in this particular case it’s physical strength for a lift.

I’m also interested in bodybuilding. Similar examples apply here as with strength training because bodybuilding has a lot to do with symmetry and balance. Got big arms but tiny legs? You won’t do great on stage until you bring up your lagging legs because judges are looking for symmetry between your upper and lower half. Arnold Schwarzenegger was known for blasting his small calves until they were no longer a weakness. It’s about balance in bodybuilding, so turning your weaknesses into strengths is important.

Double Down to Reduce Risk

So why might I suggest that you double down on your strengths instead of just hammering away at your weaknesses? Well, in this case I’m looking to reduce risk in terms of time and money while taking a more slow and steady approach to working on my weakness. My blog for development and leadership has been more successful in terms of generating online traffic and ad revenue. It’s nothing crazy, but it’s been proven more successful than my other blogs or sites. For me to invest more time and money into this blog is actually minimal effort, minimal risk, and it’s also aligned with some of my other goals (which I’ll follow up about). In fact, instead of feeling like a forced scenario to write, I have some topics I’d like to write about because they’re recent learning experiences.

My thought process is that I can continue to use this blog to:

  • ¬†Generate a small amount of revenue
  • Experiment with content creation in an area I’m stronger in and have more experience with
  • Use my learnings to carry into a different area/domain but with similar goals

Generalizing My Double Down Strategy

While I absolutely believe balance in many things if very important, I think there are opportunities where you can double down on your strengths to help improve in other areas.

This boils down to:

  • The area I’d like to improve in is something I’m lacking experience in and as a result, could be risky to heavily invest resources into
  • I have an area I’m strong in that has potential carry over to my weak area
  • My strong area can be used as a buffer to minimize risk (i.e. potentially use ad revenue from one to pay for ads for the other)
  • Focusing on my strength is aligned to something I enjoy, so it won’t feel forced to work on it

Double Down Summary

While this may not make sense to do all the time, I think the timing works really well for me. I’m going to write a follow up to discuss particular examples of how I plan to execute this and how they relate to building the brand for my vehicle.

Can you think of any areas that you can double down in to improve another area in your life?


How to Refocus: Getting Back in the Groove

How to Refocus: Getting Back in the Groove

Identifying when you need to refocus

It happens to everyone at some point to varying degrees, for various reasons, and at different times in our lives–but it’ll happen! You hit a period or a rut where you can’t keep your focus on continuing to be successful (and I’m over-generalizing that for a good reason).

Maybe this means you can’t focus at work to perform at an optimal level. Maybe you’re falling off the diet you’ve been working hard on. Maybe your training in the gym or for your sport is taking a hit because your head isn’t in the game. Maybe you find yourself unable to hit the books studying or completing your projects in school.

It can look different for everyone.

There are a bunch of different little warning signs that things aren’t quite on track and you need to refocus:

  • You’re losing interest in what you’re working on or have been working towards
  • You can’t seem to keep your mind on the goal(s) that you’ve set
  • You feel like you’re plateauing in your progress toward your goal(s)
  • You’re suddenly finding you’re not happy or not feeling fulfilled
  • You’re taking out stress on your co-workers, friends, or loved ones
  • You’re isolating yourself from friends and family
  • You find yourself overly concerned with things you can’t change (dwelling on the past or fearing a future event, like an exam)

But don’t freak out just yet… you need to see and acknowledge the signs before you can start to make any progress. Feeling pretty good about everything in your life? Then keep doin’ what you’re doin’! If any of those points seemed to resonate with you, then let’s continue on!

Don’t worry

If you’ve found that you’re in a bit of a rut, it’s important to not worry. You need to remind yourself that you were once on track and you’ll get back on track. You’ve already identified you need to refocus, so you have the power to get back on track.

Worrying about the fact you’ve identified you’re not in an ideal state of mind doesn’t help anything; in fact, it makes it worse.

“I can’t seem to find my focus at work… I’m going to be such a bad employee. I wonder if I can even get my work done now. My colleagues are going to notice… My manager will notice!”

“Training has really been kicking my butt… Why am I even doing this? I wonder if I should just give up. I haven’t seen any progress in my abilities in the past couple of weeks. I’m hopeless at this.”

“There’s a lot going on at school now and I can’t seem to keep up anymore. I’m going to fail this project that’s due next week because I can’t seem to get started on it. And my exams are coming up and I can’t seem to study. I’m going to fail this term.”

All of that kind of talk is negative and it’s not going to help you progress! So why are you continuing to focus on hampering your progress? Don’t do it. Instead, acknowledge you’re looking for a positive change, and then¬†acknowledge that you’re in full control to start making that change.

And step one is to stop worrying and drop the negativity.

Analyze what’s getting you down

I get told that the engineer in me talks too much about analysis… but I think it’s a critical step! You need to understand the things that are getting you down.¬†You’ve identified that you need to refocus because you’re not happy with your current behaviour or state of mind, but what are those things that are getting you down?

If you understand what’s getting you down you can start to take corrective actions. It’s got a (cue the fancy buzzword) synergistic effect with my previous point–Drop the negative thoughts and work on correcting them in parallel.

Let’s look at a couple of potential examples:

  • You’re unable to see any progress in your work, schooling, or training
    • How are you measuring progress right now?
      • Some things aren’t well suited for quantitative measurement
      • Try and identify a consistent mechanism for measuring progress
    • How often do you measure progress?
      • Some things don’t change very frequently so it’s hard to notice progress
      • Many things don’t progress in a totally linear fashion
    • Is it time to update your strategy for continuing success?
      • How long have you been doing the exact same thing expecting to get the same increase in results?
      • Have other environmental factors changed that suggest you should update what you’re doing?
    • Have you actually compared your current status to a previous point in time, or is it just how you feel?
      • Maybe it’s all in your head!
      • Try reflecting on where you were a month ago, 6 months ago, and a year ago.
  • You’re¬†constantly comparing yourself to others
    • Do you actually know all the ins and outs of a person’s life?
      • Just because you observe certain things, it doesn’t mean they’re exactly as they seem
      • If you don’t have the full perspective and details on someone’s life, you’re guaranteed to be misunderstanding something
    • Can you change other people?
      • … Even if you could, you shouldn’t!
      • See the next major point ūüôā
    • Are you comparing different subsets of your lives and expecting them to align a certain way?
      • Other people are not you and are living a different life
      • You can only truly compare yourself to your own self at various parts in your life
  • You’re dwelling on things you can’t change
    • Are you expecting to change something in the past that’s already happened?
      • Unless you have a time machine, you absolutely cannot change past events
      • Trying to understand past events can be helpful learning for the future
    • Are you dreading an event in the future that’s unavoidable?
      • If you can’t avoid it, then work at accepting it’s going to happen. (Things like exams or year-end reviews for work, for example)
      • Ask yourself why you’re dreading it. Try applying this example of analysis to THAT reason and dive deeper.
    • Are you focused on the thoughts and emotions of other people?
      • You can’t (and shouldn’t try to) control how other people think and feel
      • The best you can do is focus on yourself and live the values that you believe in
      • When it comes to thoughts and feelings, we all observe and interpret on our own
    • Have you considered whether this situation is temporary?
      • When you don’t know how long you’ll be out of control, it can make you feel helpless
      • Knowing there’s a point in time where there’s a change that can affect your situation can be a great help (i.e. money is tight for two weeks and you just need that next pay cheque to come through)

These are just a handful of examples, but hopefully you can see a pattern:

  1. Identify a particular thing that you know is getting you down.
  2. Ask yourself what effects it’s having and why you believe it’s having those¬†effects on you.
  3. Dive deeper on each one of those by repeating these steps.

It’s nothing groundbreaking and I’m not claiming it will magically fix your problems… But analyzing things can lead to understanding, and understanding can lead to progress.

Remind yourself of your strengths

Everyone gets down on themselves at some point and this will cause you to lose focus on your goals. But I guarantee you if you stop and think about it, there’s a lot of great things that you got going on!

Don’t believe me? I challenge you to take a pen and something you can write on.

  • Write¬†three things you’re proud of or that you’ve accomplished
  • Write three things about why your best friends like you
  • Write down the thing you love doing most or loved doing most before this point in time
  • Write down the thing you think you’re best at

Now step back for a second and think about the things you wrote.

  • It’s very likely the accomplishments you made or things you’re proud of required you to overcome something. Unless you got lucky or had some magic, odds are you used your strengths to achieve these things.
  • Your friends stay by your side because they admire you. They admire the qualities you have and see strength in you. You might not realize these strengths, but your friends perceive these about you.
  • If you love doing something, you’re probably pretty good at it, and if you’re not, odds are you’ll get good at it because you love to do it!¬†Acknowledge and understand what you’re passionate about because it will tell you about your strengths.
  • Sometimes you’re good at things that you’re not totally passionate about. That’s cool too! What makes you good at this thing? Can you apply this to other areas in your life?

Set some goals

At this point you’ve:

  • Identified that you’re not content with your current state
  • Reminded yourself¬†that you¬†can make a change
  • Analyzed what’s getting you down so that you have a better understanding of some direction to take
  • Reflected on your own personal strengths

And now… It’s time to set some goals!

Goals you set should ideally align with SMART goals. Do yourself a favour and check that page out for a little bit more information so you can set yourself up for success. You want to make sure you’ve agreed your goal is achievable within a certain period of time and that you can measure progress in some way as you go. This is critical for a few reasons:

  • No time box? How will you know if you’re on track?
  • No way to measure? … Same problem!
  • Not realistic or achievable? You’re setting yourself up for failure.

It seems obvious when it’s laid out like that, but this will keep you from setting goals like “I’m going to do better at work”, “I’ll kick¬†my training up a notch”, or “I’ll¬†worry less about what’s going on in other peoples’ lives”. None of those goal statements indicate when you’ll be done by or how you’re going to measure progress.

Here’s¬†a simple example:

In the next month, instead of missing on average three¬†practices per week, I’ll reduce this to one. I’ll make sure that I have things put into my agenda ahead of time so I won’t schedule things over practice sessions, and if something critical comes up last minute, I can use the following week to compensate for it.

  • Specifically about not missing practices
  • Measured weekly by an average of missed practices
  • Achievable because it’s an improvement and not an expectation of perfection
  • Realistic and with the reward of getting to more practices
  • Time boxed to one month.

Start slow and set one or two SMART goals. As you build confidence that you’re progressing in your goals, try adding in another. You don’t want to overwhelm yourself!

Be brave enough to ask for help

If you’re reading this and you’re considering making changes then you’re already starting your path to progress. That’s AWESOME and you’re a strong person for being able to get started.

Sometimes things can get tough though. You might feel you’ve made progress over a few weeks or months and seemingly fall back to square one. You might feel like you’ve set SMART goals but you’re having trouble even getting started. Maybe you read this and still don’t even know how to get started.

There are a million reasons why getting started or continuing can be hard. Be brave though. Ask for help. I can guarantee you have some amazing¬†friends and¬†family that love you that¬†want to see you be successful. There’s nothing to be ashamed of when asking for help! It’s a courageous thing to admit that you’d like assistance on your path for doing better, and people see that. You might feel embarrassed or ashamed, but other people see a brave person trying to move forward.

Summary

It’s a common thing for people to fall into a figurative rut in life. It happens to everyone at some point and it’s nothing to get down on yourself about. You’re not a bad human being if it happens to you, so don’t sweat it.

Analyzing your current situation and why you feel certain ways can help you gain an understanding of what’s going on. Focus on driving out the negativity and create actions to try making progress by leveraging your strengths.

In the end, remember that you control your life and you can make all the positive changes to it that you want to see. It¬†takes time and hard work, but if you put in the effort, you’ll always get to where you want to be.

Now get out there and go kick some ass.


v6.2 of IEF from Magnet Forensics! – Weekly Article Dump

IEF v6.2 from Magnet Forensics

v6.2 Release: Mobile Forensics Upgrade

I like to be able to use these weekly article dumps for little summaries of what’s going on in my work life, and I think this is a perfect opportunity to acknowledge our latest product update at Magnet Forensics. We just pushed out v6.2 of Internet Evidence Finder and we’re incredibly proud of the work we’ve done. Like any release we have, we pour our hearts into making sure it’s a few big steps forward. We’ve done our best to listen to customers and work with them to address any bugs, but we’re always trying to push the boundaries in our features.

Some of the new offerings in v6.2 of Internet Evidence Finder include:

  • Dynamic App Finder: We now offer a solution for recovering mobile chat applications that we may not have otherwise supported. This is a great discovery tool and has proved to be very powerful even in our early tests. Read more about it here. v6.2’s secret weapon!
  • Chat Threading: Visualize chat threads within our software as they look in their native applications. If you’re looking at a Skype conversation between two or more people, it will show up just like it does from within Skype. A lot less jumping between records to piece together a conversation.
  • L2T CSV Support: L2T CSV files can now be loaded directly into our timeline viewer.
  • Case Merging: Combine multiple IEF cases together or pull in data from TLN/L2T CSV files.
  • More Artifacts: v6.2 is no different than previous releases when it comes to adding new artifacts!
    • AVI carving
    • Hushmail
    • TOR chat
    • Flash cookies
    • Offline gmail
    • Additional Chrome support
    • … and more.

If you’re a forensic investigator, v6.2 is going to be an awesome upgrade or addition to your suite of tools. If you’re not, then check out Magnet Forensics to see what we’re all about and so proud of what we do. Congrats to Magnet on an awesome release of v6.2!

Articles

  • In praise of micromanagement: I’m still very early on in my career, so it’s difficult for me to have an opinion on this article and back it up. It’s a bit controversial, so of course I want to take the other side and disagree with it.There’s that, and I have some discomfort when it comes to Apple so I like to turn off when I see articles on Apple or Steve Jobs. Regardless, I thought that there was an interesting perspective in this piece to share, and maybe even if I can’t see it right now, others would benefit from reading through it. Is there a place for micromanagement? Can it be done right? Are people like Steve Jobs just an exception to an otherwise good rule?
  • The Myth of the Rockstar Programmer: Scott Hanselman¬†says that rockstar programmers don’t exist–rockstar teams do. I completely agree. When your company is so small that you essentially don’t have teams, this might not hold. Maybe you have three developers and each one is a rockstar in their own right. That’s probably a it different. More often than not, you’re not working with one or two people developing a product for a company. It’s not about having one rockstar with all the programming super-powers take charge on the team. It’s about creating a team where everyone has their own strengths and weaknesses and then organizing them to operate at full efficiency. Teams. Not individuals.
  • Strengthen and Sustain Culture with Storytelling: This is an article that I can really align myself with.¬†Nancy Duarte¬†writes about something that’s often lost when small startups are transitioning into small businesses. It’s entirely possible some companies don’t even make it out of the start up phase because this thing is already going south. Storytelling. It’s important to be able to share stories with people as you bring them on board to your company. They need to know where the company has been and how it’s gotten to where it is. New hires need to feel like their part of the family as they are brought on board, and without conveying your company’s mission and values properly you start to lose that alignment.
  • Ignoring Your Test Suite: Another programming article here, but this post by Jesse Taber¬†has some deeper lessons to be learned, in my opinion. The article talks about something not all programmers do, but should: write code that tests their code. This lets developers catch problems early on (because catching a problem now might cost a bit of time, but catching the problem later could be devastating). Running code tests regularly is a process that allows you to ensure the foundation of your software product is structurally sound. But what happens when you have flaky tests? What happens when you introduce a new failure and don’t bother to fix it? After all, you have 3000 tests, and you know why test ABC is failing anyway. Don’t put processes in place just for the sake of having them. Everything you do should be done for a reason, because your business doesn’t have time for anything else. Don’t enable poor habits. If you’re noticing problems in your process, identify why they are happening and look to get them fixed. Maybe you need to adjust your process because it doesn’t fit anymore.
  • Cameron Sapp ‚Äď Recognizing The New Guy: This one is from me. I wrote up a little recognition piece about a colleague and teammate, Cam Sapp. I want to be able to write more recognition posts, but I started with Cam. He’s been a great addition to our team both from a technical and work culture perspective. All of Magnet is glad to have him on board.
  • Don’t Work For Your Boss, Work For Your Company: I thought that¬†Ilya Pozin¬†had written something great when I cam across this article. Hierarchies in the workplace can often cause disconnect and disengage employees. So why do we have them? I’m not against hierarchies–I think they serve a purpose. However, I think necessary measures need to be put in place to ensure that hierarchies aren’t detracting from the company’s goals. In this article, Ilya says to not work for your boss. Your goals at work should not be to satisfy individuals or only do things for your boss so you can get your promotion. Align yourself to the company values and the mission of the company. You’ll remain engaged and happy to do the work you’re doing. In the end, if you’re not happy doing work that’s aligned with your company’s mission, vision, and values, you might be in the wrong place.
  • Creativity and the Role of the Leader: This article discusses where ideas come from and how leaders fit in to the grand scheme of things. The traditional mindset is that ideas come from the top and then are pushed down to employees to carry out the work necessary for bringing the idea to fruition. However, it’s increasingly more common where ideas are actually generated by employees, and it’s the responsibility of the leader for nurturing idea creation and ensuring that ideas that are aligned with the company’s mission can succeed.
  • Will Your Firm Endure?: In this article by¬†Tim Williams, I took away two key points. In order for your business to be absolutely sure it can endure, everyone needs to be viewed as replaceable. I don’t mean in the sense where we can trade John for Joe and not care because we don’t value human qualities, I mean strictly from the skills and responsibility aspect. There shouldn’t be instanced in your business where if an individual were to disappear one day your company wouldn’t be able to carry on. The next is acknowledging strengths and weaknesses. When people have some obvious strengths, they have weak areas too. There’s nothing wrong with that. It’s normal. Make sure your teams are constructed of people with complementary skills.
  • Dynamic Programming with Python and C#: Another article from me, and another programming related post. This my follow up to a post about C# and Python integration¬†that seems to have been received really well. It was a cool little experiment for me to take Python and C# and have them working together in my favourite IDE, but on top of that, I was actually able to learn a bit about C#’s “dynamic”¬†keyword which was new for me. If you’re familiar with either of C# or Python I recommend checking it out. There’s some pretty cool stuff you can do, and I’ve only scratched the surface.
  • To Find Success, Forget Your Priorities:¬†Claire Diaz-Ortiz¬†says that priorities are too general. We all have priorities, but how many of us are seeing ourselves achieve what we’d like? Claire suggests forgetting your priorities and breaking them down into goals you can achieve. By having conrete action plans, you can execute them properly.
  • Personality Tests: Modern-Day Phrenology: Ron Baker¬†shares his perspective on why personality tests don’t have a place at work. He goes as far as calling them meaningless, but I believe his main argument is that simply siloing people into personality types is pointless. To that end, I agree. I thought this article had great timing because I’ve been discussing personality tests with our HR manager at work. I came across this article right before doing a personality test with her and we decided a few things. Firstly, if the results of the test don’t make sense, then don’t go any further with it. This means that either the test you’re using is flawed or perhaps you don’t understand the test. Regardless, how can you take action on something you don’t understand? We both agreed that simply identifying traits was useless on it’s own, so I think we agreed with Ron on this one, but we weren’t stopping there. The basic act of identifying personality traits had us sparking conversations about how our personalities were different and how acknowledging these differences could influence our interactions. Essentially, it was hard to just silo ourselves into a particular personality type without thinking about and acting on what we were observing. In the end, identifying personality types and sticking someone into some cookie-cutter process for it means nothing. The tests are all about ganining insight and understanding so that we can choose where to go from there.
  • How Open Should a Startup CEO Be with Staff?: Coming from a startup, this was another interesting article. Mark Suster¬†writes a semi-controversial perspective about CEO transparency. The norm is that expecting CEO’s to share every bit of details with the employees achieved perfect transparency and makes everything better. Mark says this definitely isn’t the case and provides some excellent examples where total transparency came back to bite. It’s all about balance. Transparency is great,but total transparency is often too much for most employees to handle on a day-to-day basis.

Follow Dev Leader on social media outlets to get these updates through the week.

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+
Nick’s CodeProject Articles

You can also check out Dev Leader on FlipBoard.


  • Subscribe to Blog via Email

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

  • Nick Cosentino

    Nick Cosentino

    I work as a team lead of software engineering at Magnet Forensics (http://www.magnetforensics.com). I'm into powerlifting, bodybuilding, and blogging about leadership/development topics over at http://www.devleader.ca.

    Verified Services

    View Full Profile →

  • Copyright © 1996-2010 Dev Leader. All rights reserved.
    Jarrah theme by Templates Next | Powered by WordPress