Content Developer II at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
122780 stories
·
29 followers

How to train your dream machine

1 Share
Ben and Ryan talk with Vikram Chatterji, founder and CEO of Galileo, a company focused on building and evaluating generative AI apps. They discuss the challenges of benchmarking and evaluating GenAI models, the importance of data quality in AI systems, and the trade-offs between using pre-trained models and fine-tuning models with custom data.
Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Five Tips for Starting a New Developer User Group

1 Share

As we continue to get further away from the events of 2020 that stopped in-person events and meetups in their tracks, we’re starting to see a resurgence of local developer user groups (or “meetups”). But what if your area doesn’t have a local user group or meetup? Or, what if there is no meetup that covers topics interesting to you?

 

No problem! You can start your own! And it’s not as hard as you might think, especially if you follow the advice outlined in this post.

 

In this blog post, we will share 5 tips, pulled from our own experience starting and running local meetups, that can help any aspiring community member start (and sustain) a successful developer user group. Whether you want to start a small informal meetup in your office or grow a larger community meetup, these tips will help you get started on the right foot.

 

Tip 1: Define your audience

The first (and arguably most important) thing you need to do before you start a developer user group is to define your audience. Who is this for? Is this a meetup centered on a specific technology, like .NET or Python? Maybe even more narrowly “.NET Web Developers” or “Python Data Scientists”? Or is it a meetup for a wide variety of topics that can appeal to many different technologists, like a “Cloud” or “DevOps” meetup?

 

Narrower focus can help a meetup attract people with highly aligned interests, but it can also limit the potential appeal and topic flexibility. If possible, try to gauge interest from other developers in your area to figure out what would be most helpful.

 

Next, who do you want to participate? Coworkers? Professionals? Students? Both? Most meetups tend to be flexible enough to accommodate many different profiles, but there can be value in specializing your meetup activities to cater to a specific group. For example, groups focused on students might optimize around school schedules and meet in a convenient location for students. Groups aimed at professionals might periodically do networking events.

 

Tip 2: Choose a time and place

The next thing you need is a time and place to meet.

 

Most user groups and meetups establish a consistent, regular meeting time so it’s easy to remember and becomes a regular part of participants’ calendars. There is no one “correct” cadence, but many groups tend to meet monthly, creating 10 to 12 opportunities to meet in a year. For example, “the first Thursday of every month” or “the third Tuesday.” Just try to avoid picking a cadence that “competes” with other local meetups in your area so developers have the opportunity participate in both.

 

If your group is for professionals, picking a weekday time after work helps people get to the meeting. If it is for coworkers, it may make more sense to run the meeting during working hours. Weekends can work, too, but there is more competition for time over the weekend, and many people view technical user groups as “professional development” activity.

 

With a day and time picked, now you need a location. This can be one of the hardest parts to starting a new user group. If you already have available space through your employer or school, that’s a huge head start! If not, talk to your office manager or boss. For companies, hosting a community meetup can be a great way to improve awareness of the company among developers in the area that can benefit future recruiting.

 

If you do not have a school or company sponsor for your space, you have a few options:

 

  1. Try to find a local company interested in providing space. This doesn’t have to be your employer, though you will likely need to connect with developers in that company to act as sponsors for the meetup (so they can help with accessing the space on meeting nights). There is a real benefit for local software companies, so ask around.

  2. Use a local community center. Many places have local community centers that make space available for things like user group meetups. Some make the space available free of charge; others may require a small fee to use a meeting room. Free space clearly is easier to manage as a new user group, but as your group grows and gets sponsors, paid space can work, too. Local community colleges/universities will also sometimes allow use of classrooms after hours for local community meetings.

  3. Meet at a local restaurant. If your meetup is small, local restaurants that have a private dining space can work for meetups. It’s important to find a restaurant that has space you can use without disturbing other diners, and that isn’t too loud for your group to meet. This can work especially well if you’re just getting started, and you use the space as a springboard for building your early attendance and then finding a larger, more permanent space.

  4. Go virtual! While there are many benefits to meeting with local developers in person, virtual meetups remain a great option for working around the problems and costs related to finding space. Just remember, when you go virtual, you are now “competing” with all other virtual meetups around the globe for developer time and attention, so make sure you have a plan for differentiating your meeting.

 

Finally, choose a format for your meetings. The “typical” user group meeting is 1 to 2 hours, with some time built-in for networking. Some groups will just have one main topic and speaker for each meeting. Others choose to feature several topics and speakers delivering shorter “lightning” talks. Some do both. As you get started, picking a format that is easier to manage (with one speaker) is usually the best choice. Over time, you can experiment with other formats, especially when you have a larger roster of potential speakers.

 

BONUS TIP: If you do choose to host your meetings in the evenings, don’t forget to provide some food! Evening user groups frequently cut across diner hours, so food makes it easier to attend (and stay). The most common user group meal is pizza, and to control costs as you’re starting, providing water or another low-cost beverage is fine. Assuming you’ve found free meeting space, food and beverage is usually the highest cost associated with running a meetup and where sponsorship dollars can help!

 

Tip 3: Find speakers, sponsors, and partners

One of the main functions of a meetup is to learn from speakers, so, where do you get speakers?

 

In the beginning, it’s not uncommon for the speakers at your meetup to be…you! Or you and your other user group members. You don’t have to be the preeminent expert on a topic to speak at a user group – you just have to share something you’ve learned that you think other developers might find interesting or useful. In fact, speaking at a user group is a great forcing function for learning something new so you can share it with others.

 

As your group gets established and grows, your roster of possible speakers will grow, making it easier to ensure you’ve always got someone booked for future meetings.

 

BONUS TIP: If there is ever a tech conference in your area, it’s a great time to reach out and see if any of the speakers at the event are interested in making a stop at your user group. Software companies (and speakers) love to make the most of any travel, so if they can extend their trip and visit a few user groups, they often will. This is also a good opportunity to synchronize with other meetups in your area so you can line-up a few meetups for a speaker to visit (or even combine a few meetups so the speaker has a larger audience to address).

 

Partners are also essential to running and growing a user group. In this context, “partners” refers to a “core” group of members that can help share the burden of the regular tasks that must be done to keep your group ticking: finding speakers, finding sponsors, updating social media and websites, handling food and “prizes” for meetings, and more. If you’re sick or out of town, they can ensure meetings still happen. It may take a few meetings but identify those “committed regulars” and ask for help so you can create a durable group that lasts.

 

Sponsors, meanwhile, are not strictly required before you start a developer user group, but they can help cover the costs your group will likely incur. Even assuming you find free meeting space, many user groups offer free pizza and drinks to help create more incentive for people to join (frequently right after work…at “dinner” time). Groups also tend to raffle prizes at the end of a meeting to further encourage participation and keep people around to the end. And for these costs and prizes, sponsors and partners are key.

 

There are a few common places to find sponsors and partners for local developer meetups:

 

  • Local companies: Local software companies (the kind that might want to hire the people attending your meetup) or local recruiting companies frequently sponsor user groups by providing space and/or money for pizza and drinks.
  • ISVs/Vendors: Independent Software Vendors (ISVs) – aka “software companies” – that serve the market aligned with your meetup (like .NET or Java or DevOps) are often great sources for swag and prizes to raffle at your meetings. Some companies have a structured offer for user groups, so all you must do is establish your group and apply to participate. Others may be willing to provide free software licenses or even sponsor food for a meeting if you reach out, in exchange for some promotion to your members.
  • Foundations/Conferences: There are various software foundations and conferences, like the .NET Foundation or DevNexus, that support user groups. In the case of foundations, supporting user groups is aligned with general promotion and support of a specific ecosystem (with larger corporate sponsors working directly with the foundation). For developer conferences, sponsoring a user group can be a low-cost way to promote their event to a highly qualified and aligned audience.

 

As you find sponsors, make sure there is a clear understanding of what you’re offering and what the sponsor expects. Some sponsors may only want to support a single meeting. Others may be willing to support an entire year (or longer)! And most will want at least some promotion during your meeting, but it’s up to you to decide how and where that fits.

 

And as you grow and begin to have more sponsorship, make sure you’re carefully managing the sponsorship money so it all gets used for the right purpose! You’ll eventually want to create a bank account for your meetup, so the sponsorship funds aren’t co-mingled with your personal accounts. That will also make it easier for the other “core” members/leaders of your group to use those funds to run meetings without always coming to you.

 

Tip 4: Establish a safe and inclusive culture

It’s important to ensure you’re establishing a new user group on a foundation that cultivates a safe and inclusive culture. You want to create a sense of belonging, trust, and engagement among your members and the community, and foster a positive and inclusive environment for everyone. The following practices and policies can help build community and culture for your user group:

 

  • Code of conduct: Create a code of conduct for your user group and events, where you state your values, expectations, and rules for your members and the community, and how you handle violations and complaints. You can use a template like the Contributor Covenant or the Berlin Code of Conduct to create your code of conduct.
  • Recognition: Recognize your members and the community, where you acknowledge and appreciate their contributions, achievements, and support for your user group and events.
  • Feedback: Solicit feedback from your members and the community, where you ask them for their opinions, suggestions, and testimonials about your user group and events, and how you can improve them. You can use a tool like Microsoft Forms to create and distribute your feedback forms.

 

Grounding your new user group in culture built around safety and inclusivity will help grow your membership and strengthen the connection between members. The community that forms around your group can be much more than “co-learners” at a monthly meeting – they can be a professional network for finding new jobs and an active support system for working through challenging problems.

 

Tip 5: Promote your user group and events

You’ve defined your audience. You’ve picked your time and place. You’ve got a speaker (you!) and a sponsor. And you’ve defined your Code of Conduct. It’s finally time to promote your new user group and make sure developers in your area know it exists!

 

Promotion will be an ongoing task for you as a user group organizer. You want to spread the word about upcoming meetings to attract and engage your potential and existing members. There are many potential channels and strategies to promote your meetings:

 

  • Word of mouth: Nothing is better for local meetups than word of mouth. Social media and online promotion can help (especially for reminding repeat members to attend), but it’s hard to get the kind of hyperlocal targeting online that your meetup likely needs. SO…ask your friends, colleagues, contacts, and networks to spread the word about your user group and events and encourage them to invite others who might be interested! You can also ask your speakers, sponsors, and members to promote your user group and events to their circles.
  • Meetup: Create a meetup page for your user group, where you can list your events, collect RSVPs, and communicate with your attendees. You can use a platform like Meetup or Eventbrite to organize your events and registrations. This is especially helpful when working with sponsors as it gives them a place to see your upcoming meetings and meetings that have occurred in the past.
  • Social media: While less effective at attracting new members, social media accounts for your user group are useful for sharing updates, news, announcements, and highlights. You can use platforms like Twitter, Facebook, Instagram, or LinkedIn to reach and interact with your audience.
  • Email: When you start, you have no email list, so ask local companies or colleagues to send emails on your behalf to their software development groups to help spread awareness of your new group. Then, as your group grows, create an email list where you can send your invitations, reminders, and follow-ups. You can use a tool like Mailchimp or SendGrid to manage your email list and campaigns.
  • Website: This is optional, especially as you’re starting. A website requires upkeep, which is another job for you, and platforms like Meetup can cover the basics. But once you’ve established your “core” group of leaders that can help share the maintenance tasks, a website for your user group can showcase your purpose, audience, format, events, speakers, sponsors, and testimonials.

 

Get creative! And whatever you choose, don’t forget to keep doing it. Every meeting is an opportunity to grow your membership and make sure previous members don’t forget to join! This is a perfect task for a “core” member or co-leader of the meetup to own.

 

Now what?

Starting a developer user group can be a rewarding and fulfilling experience, both for you and for the community. You can share your passion, knowledge, and skills with others, learn new things, meet new people, and have fun! We hope that these tips will help you plan, launch, and grow your user group, and make a positive difference in your local developer community.

 

And remember: it only takes two people to have a meetup! Don’t be afraid of starting small and growing.

 

If you have any questions, comments, or feedback, please leave a comment below! We would love to hear tips from other people that have started user groups and support new community leaders on your journey. And don’t miss our directory of developer user group meetups to find meetings that may already be happening in your area!

Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

JetBrains AI Assistant for JavaScript Developers – WebStorm

1 Share

There is no doubt that the advent of AI is changing the way many of us work. Whether you choose to accept this with optimism… or skepticism… is a topic for another day. We choose optimism, as AI has incredible potential to improve how we work.

In this blog post, we’ll look at how you can speed up your workflows and simplify JavaScript and TypeScript development with the help of AI in JetBrains IDEs. We’ll use WebStorm as an example, but most of the AI features will work the same way in our other IDEs.

What is an AI coding assistant?

First, let’s clarify what AI coding assistants are. Simply put, these are tools that leverage artificial intelligence to assist you with different kinds of programming tasks – from writing code to working with Git. Some examples of popular AI coding assistants include Tabnine, GitHub Copilot, and JetBrains AI Assistant.

Why use an AI coding assistant?

Why have so many developers been adopting AI coding assistants in their workflow lately? The answer is simple – productivity. When used effectively, AI tools help you save time and reduce the amount of routine work you have to do on a daily basis. Just make sure that the tool you’re using takes data and code security seriously.

AI for JavaScript developers – how can it help?

JavaScript development has its own unexpected, often meme-able behavior that can be hard to troubleshoot. From infamous “callback hell” to the complexities of asynchronous programming, you can find yourself grappling with intricate code structures that are daunting to untangle.

AI coding assistants can help with problems like these. Let’s take the “callback hell” problem as an example. This issue arises primarily due to the heavy use of callbacks for asynchronous operations, leading to nested callbacks that are hard to read and maintain. Here’s how JetBrains AI Assistant can help you rewrite the function and replace “callback hell” with an async/await approach in just a few clicks.

Using AI Assistant to generate code to mitigate call back hell

This is just one example of how easily AI eliminates problems like this in your IDE.

Overview of JetBrains AI Assistant in WebStorm

Let’s see what AI functionality you can benefit from in WebStorm. JetBrains AI Assistant can help you with a range of tasks – from getting to know your project better to testing and working with version control. And, of course, writing code. 

Let’s take a look at the key features available in JetBrains AI Assistant. You can start with a free 7-day trial and then switch to one of the available subscription plans. For more information on how to get started, see this section

Smart chat

You can call up JetBrains AI Assistant directly from the IDE. The best part about this: Not only can you ask the AI questions from the built-in chat window, but because it’s integrated with the IDE, you can take its responses and code suggestions and apply them directly to your project.

tab-labels

AI prompts

There are a bunch of prewritten prompts that are available in the right-click context menu under AI Actions. They use AI backed by project-specific context from WebStorm to help you simplify routine tasks, such as:

  • Explain code. AI can give you a comprehensive explanation of how the code works to help you understand the logic behind it faster.
  • Find the best way to refactor code. The action for suggesting refactorings shows how you can refactor your code to make it more readable and maintainable.
  • Identify potential problems. You can also ask AI to find potential issues you may want to look into, like missing error handling or partial usage of Promise.all().
  • Generate code, documentation, and tests. The capabilities of AI don’t end at just being able to suggest code as you program. It can also generate things for you from scratch while staying in the context of the project. This is perfect for all sorts of your least favorite tasks, such as writing documentation or tests.
Using AI Assistant Suggest Refactoring Action to improve the code by modernizing it

That’s not all! You can also add your own prompts to the context menu for other actions you use often.

Help with version control

Routine version control tasks are another prime candidate for offloading onto AI. For example, JetBrains AI Assistant can generate commit messages for you or help you edit and improve the ones used for the commits you’ve already made. What’s more, it can summarize the changes from other commits.

tab-labels

Multi-line code completion

With JetBrains AI Assistant, you also get more powerful code completion. It can autocomplete entire functions or even blocks of code as you type based on the context of your project. The code it generates will be similar to how you would write the code, matching your style and naming conventions.

Name suggestions

Naming things in code is the most difficult task a human can ever undertake[citation needed], so why not let AI do it for you? When you rename a symbol, JetBrains AI Assistant will provide suitable suggestions for it based on the current context.

tab-labels

Runtime error explanation

JavaScript can be notorious for its unexpected runtime errors. With the click of a button, JetBrains AI Assistant can analyze and suggest fixes for runtime errors, which can be inserted straight into your files.

tab-labels

In essence, JetBrains AI Assistant is the ultimate augmentation of your IDE. It will enhance the features you already love with AI capabilities and provide context-aware smart assistance to help you take care of the tasks you don’t. 

Try JetBrains AI Assistant

See our documentation for more information on JetBrains AI Assistant features available in WebStorm.

Conclusion

The era of AI in JavaScript development represents a paradigm shift in how we approach coding. With AI coding assistants like JetBrains AI Assistant, you can stay more productive while reducing the amount of routine and stressful tasks to a minimum. Give it a try and see for yourself!

The WebStorm team

Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Zero Trust Security Principles for Generative AI & LLMs in the Enterprise

1 Share

In today’s rapidly evolving digital landscape, enterprises face a constant barrage of cybersecurity threats. As organizations increasingly turn to cutting-edge technologies like Generative Artificial Intelligence (AI) and Large Language Models (LLMs) to drive innovation and efficiency, it’s crucial to ensure that robust security measures are in place. By applying the principles of Zero Trust, enterprises […]

The article Zero Trust Security Principles for Generative AI & LLMs in the Enterprise appeared first on Build5Nines.

Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

Accelerating innovation: A new era of AI at work begins

1 Share

The post Accelerating innovation: A new era of AI at work begins appeared first on Windows Blog.

Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete

The ChatGPT wrapper product boom is an uncanny valley hellscape

1 Share

dad from Cocomelon

Here we go again: I'm so tired of crypto web3 LLMs.

I'm positive there are wonderful applications for LLMs. The ChatGPT web UI seems great for summarizing information from various online sources (as long as you're willing to verify the things that you learn).

But a lot fo the "AI businesses" coming out right now are just lightweight wrappers around ChatGPT. It's lazy and unhelpful.

Probably the worst offenders are in the content marketing space.

We didn't know how lucky we were back in the "This one weird trick for saving money" days. Now, rather than a human writing that junk, we have every article sounding like the writing voice equivalent of the dad from Cocomelon.

Here's an approximate technical diagram of how these businesses work:

ChatGPT wrapper business model

Part 1 is what I like to call the "bilking process." Basically, you put up a flashy landing page promising content generation in exchange for a monthly subscription fee (or discounted annual fee, of course!). No more paying pesky writers!

Once the husk of a company has secured the bag, part 2, the "bullshit process," kicks in. Customers provide their niches and the service happily passes queries over to the ChatGPT (or similar) API. Customers are rewarded with stinky garbage articles that sound like they're being narrated by HAL on Prozac in return. Success!

I suppose we should have expected as much. With every new tech trend comes a deluge of tech investors trying to find the next great thing. And when this happens, it's a gold rush every time.

I will say I'm more optimistic about "AI" (aka machine learning, aka statistics).

There are going to be some pretty cool applications of this tech eventually—but your ChatGPT wrapper ain't it.

Read the whole story
alvinashcraft
3 hours ago
reply
West Grove, PA
Share this story
Delete
Next Page of Stories