Pull to refresh
52.65

GitHub *

Web-service for hosting and development of IT projects

Show first
Rating limit
Level of difficulty

The first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA

Reading time 3 min
Views 910

Need to start your career or hobby in digital design and verification of silicon chips or reconfigurable hardware? Explore multiple FPGA toolchains and open-source ASIC tools? Design your own RISC-V CPU or ML accelerator? Prepare for an interview in SystemVerilog? Come to our first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA.

Read more
Total votes 4: ↑3 and ↓1 +2
Comments 2

UX Designer Job Interview: 10 questions to answer, 5 questions to ask

Level of difficulty Easy
Reading time 6 min
Views 595

No matter how many degrees you have or how high your experience level is, your recruiters need to evaluate your knowledge of UX design as a whole. But keep in mind that a job interview is not an exam, so here you are expected not to recite the textbook definitions learned by heart, but rather share your personal understanding of UX and your role as a designer in general. Consider talking about how you define UX, what creates value in the design, what are the necessary parts of a UX design process, what are the current trends in UX. You might also be asked to explain the difference between UI and UX to see how you understand the role of each in the development process.

Read more
Rating 0
Comments 0

GNU radio 802.11 black box optimization

Level of difficulty Medium
Reading time 5 min
Views 2.1K

In this post I'll share my experience in adjustment of WiFi physical channel. The channel was implemented on a software defined radio (SDR) platform. WiFi looks like a very complicated thing standardized over hundreds of pages. Could a non-expert with a PC and a couple of 100$ devices (HackRFs) somehow improve it? Here I try to develop a WiFi optimization approach basically agnostic of protocol implementation details. There's some math and Python programming in it.

Read more
Total votes 5: ↑5 and ↓0 +5
Comments 0

NFun — expression evaluator for .Net

Reading time 6 min
Views 2.1K

Nfun is an embedded language and expression executor that supports primitive types, arrays, structures and lambda expressions.

Most likely, you have already met tasks that require such a tool, and in this article I want to show examples of its application, its capabilities and why it may be useful to you.

Let's learn some nFun!
Rating 0
Comments 1

Speed Dating with the CodeIgniter 4 on GitHub

Reading time 2 min
Views 2.8K

Getting acquainted with the CodeIgniter 4 PHP framework is quite simple.

Spend the evening following the instructions in the «Build Your First Application» section. Since the documentation is written in a good, technically understandable language, it is even possible to get some aesthetic pleasure in the process of familiarizing yourself with this and other sections.

The feeling of airiness and consistency of the CodeIgniter 4 project will be present with you everywhere now.

What is so attractive about CodeIgniter 4?

Read more
Total votes 7: ↑6 and ↓1 +5
Comments 2

Multiple violations of policies in RMS open letter

Reading time 7 min
Views 3.7K

Author: Chris Punches (@cmpunches, Silo group). License: "Please feel free to share unmodified".

The following text is an unmodified copy of now removed issue #2250 on rms-open-letter.github.io repository. The text claims multiple violations of different policies, codes of conduct and other documents in creation, content and support of the "Open letter to remove Richard M. Stallman from all leadership positions". The issue has not been addressed.

Read more
Total votes 24: ↑20 and ↓4 +16
Comments 3

How to Get Nice Error Reports Using SARIF in GitHub

Reading time 7 min
Views 1.5K

Let's say you use GitHub, write code, and do other fun stuff. You also use a static analyzer to enhance your work quality and optimize the timing. Once you come up with an idea - why not view the errors that the analyzer gave right in GitHub? Yeah, and also it would be great if it looked nice. So, what should you do? The answer is very simple. SARIF is right for you. This article will cover what SARIF is and how to set it up. Enjoy the reading!

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Architectural approaches to authorization in server applications: Activity-Based Access Control Framework

Reading time 10 min
Views 1.4K

This article is about security. I’ll focus on this in the context of web applications, but I’ll also touch on other types of applications. Before I describe approaches and frameworks, I want to tell you a story.


Background


Throughout my years working in the IT sphere, I’ve had the opportunity to work on projects in a variety of fields. Even though the process of authenticating requirements remained relatively consistent, methods of implementing the authorization mechanism tended to be quite different from project to project. Authorization had to be written practically from scratch for the specific goals of each project; we had to develop an architectural solution, then modify it with changing requirements, test it, etc. All this was considered a common process that developers could not avoid. Every time someone implemented a new architectural approach, we felt more and more that we should come up with a general approach that would cover the main authorization tasks and (most importantly) could be reused on other applications. This article takes a look at a generalized architectural approach to authorization based on an example of a developed framework.


Approaches to Creating a Framework


As usual, before developing something new, we need to decide what problems we’re trying to solve, how the framework will help us solve them, and whether or not there is already a solution to these issues. I’ll walk you through each step, starting with identifying issues and describing our desired solution.


We’re focusing on two styles of coding: imperative and declarative. Imperative style is about how to get a result; declarative is about what you want to get as a result.

Read more →
Rating 0
Comments 0

Continuous integration and deployment for desktop apps with GitHub Actions

Reading time 2 min
Views 2.2K
From speaking to desktop developers, we’ve heard that you want to learn how to quickly set up continuous integration and continuous deployment (CI/CD) workflows for your WPF and Windows Forms applications in order to take advantage of the many benefits CI/CD pipelines have to offer, such as:

  • Catch bugs early in the development cycle
  • Improve software quality and reliability
  • Ensure consistent quality of builds
  • Deploy new features quickly and safely, improving release cadence
  • Fix issues quickly in production by rolling forward new deployments

That’s why we created a sample application in GitHub to showcase DevOps for your applications using the recently released GitHub Actions.

Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 0

Windows Terminal Preview v0.7 Release

Reading time 3 min
Views 1.6K
Another release is out for the Windows Terminal preview! This release is labeled as v0.7 in the About section of the Terminal. As always, you can download the Terminal from the Microsoft Store and from the GitHub releases page. Here’s what’s new in this release:

Windows Terminal Updates


Panes


You are now able to split your Terminal window into multiple panes! This allows you to have multiple command prompts open at the same time within the same tab.

Note: At the moment, you’re only able to open your default profile within a new pane. Opening a profile of your choice is an option we’re planning to include in a future release!



Read more below.
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 0

How did the test task become a production library

Reading time 5 min
Views 1.9K
Hello everyone!

Today I'm going to tell about how is test task to job interview became the library Image Comparison. It's an open-source library, which is hosting on GitHub.

logo

Before I start, let me introduce myself. My name is Roman. I'm a husband and father. I'm a software engineer in Epam Systems with 4 years of experience in IT.

The main idea of this topic is to tell, that creating an open-source product it's not wasting time, no! It's an amazing experience, which is going from all the open-source community. It's a time when you're a developer, project manager, product manager in one head.

While this library is growing I have been working with people from more than 10(!!) countries, such as the USA, Germany, Chine, India, Russia, Ukraine, etc.

Let's move on from the start of this story…
Read more →
Total votes 5: ↑5 and ↓0 +5
Comments 0

Getting started with Git and GitHub is easier than ever with GitHub Desktop 2.2

Reading time 2 min
Views 1.9K


Anyone who uses Git knows that it has a steep learning curve. We’ve learned from developers that most people tend to learn from a buddy, whether that’s a coworker, a professor, a friend, or even a YouTube video. In GitHub Desktop 2.2, we’re releasing the first version of an interactive Git and GitHub tutorial that can be your buddy and help you get started. If you’re new to Desktop, you can download and try out the tutorial at desktop.github.com.
Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Analysis of commits and pull requests in Travis CI, Buddy and AppVeyor using PVS-Studio

Reading time 10 min
Views 679

Picture 11

Starting from the version 7.04, the PVS-Studio analyzer for C and C++ languages on Linux and macOS provides the test feature of checking the list of specified files. Using the new mode, you can configure the analyzer to check commits and pull requests. This article covers setting up the check of certain modified files from a GitHub project in such popular CI (Continuous Integration) systems, as Travis CI, Buddy and AppVeyor.
Read more →
Total votes 21: ↑21 and ↓0 +21
Comments 0

New Dark Theme Available on Visual Studio App Center

Reading time 1 min
Views 1.8K
We are committed to building Visual Studio App Center for you. Thanks to you taking the time to request features via our Github repo, we are excited to announce that dark theme is available in App Center.

In the next few screens, you can get an idea of how App Center’s dark theme looks:


App Center Distribute in Dark theme


App Center Test in Dark theme
Read more →
Total votes 7: ↑7 and ↓0 +7
Comments 0

Family tree inside Git

Reading time 6 min
Views 4K

Happy programmer's day! I wish you more bright commits, merged pull requests, less merge conflicts, and that your life branches remain relevant as long as possible. As a conceptual gift, I propose the implementation of a family tree by means of the Git version control system. Well… sounds like a plan!



For those who have immediately understood everything, I give links to the source code: GenealogyTreeInGit and family trees: mine and US presidents.


In addition, I implemented a simple social graph. It displays not only the degree of kinship, but also the status of relations between descendants, events such as wedding, divorce, childbirth, as well as contributions to the relations.

More about implementation, details, and pictures
Total votes 4: ↑4 and ↓0 +4
Comments 2

Checklist for writing great Visual Studio extensions

Reading time 3 min
Views 1K
Great Visual Studio extensions share a few key features that sets them apart from the rest. They look and feel well crafted, are performant and reliable, do what they advertise to perfection, and blend in naturally among Visual Studio’s own features.

To make it easier to write great extensions, we’ve worked with the extensibility community to come up with a simple checklist to follow. There’s even a GitHub issue template you can use so you remember to go through the checklist.

Read more →
Total votes 10: ↑10 and ↓0 +10
Comments 0

Errors that static code analysis does not find because it is not used

Reading time 5 min
Views 1.8K
Readers of our articles occasionally note that the PVS-Studio static code analyzer detects a large number of errors that are insignificant and don't affect the application. It is really so. For the most part, important bugs have already been fixed due to manual testing, user feedback, and other expensive methods. At the same time, many of these errors could have been found at the code writing stage and corrected with minimal loss of time, reputation and money. This article will provide several examples of real errors, which could have been immediately fixed, if project authors had used static code analysis.

Read more →
Total votes 22: ↑21 and ↓1 +20
Comments 0

GitHub Package Registry will support Swift packages

Reading time 1 min
Views 1.1K
On May 10, we announced the limited beta of GitHub Package Registry, a package management service that makes it easy to publish public or private packages next to your source code. It currently supports familiar package management tools: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images, with more to come.

Today we’re excited to announce that we’ll be adding support for Swift packages to GitHub Package Registry. Swift packages make it easy to share your libraries and source code across your projects and with the Swift community.

Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

C# or Java? TypeScript or JavaScript? Machine learning based classification of programming languages

Reading time 6 min
Views 1.5K
GitHub hosts over 300 programming languages—from commonly used languages such as Python, Java, and Javascript to esoteric languages such as Befunge, only known to very small communities.


Figure 1: Top 10 programming languages hosted by GitHub by repository count 

One of the necessary challenges that GitHub faces is to be able to recognize these different languages. When some code is pushed to a repository, it’s important to recognize the type of code that was added for the purposes of search, security vulnerability alerting, and syntax highlighting—and to show the repository’s content distribution to users.

Linguist is the tool we currently use to detect coding languages at GitHub. Linguist a Ruby-based application that uses various strategies for language detection, leveraging naming conventions and file extensions and also taking into account Vim or Emacs modelines, as well as the content at the top of the file (shebang). Linguist handles language disambiguation via heuristics and, failing that, via a Naive Bayes classifier trained on a small sample of data. 

Although Linguist does a good job making file-level language predictions (84% accuracy), its performance declines considerably when files use unexpected naming conventions and, crucially, when a file extension is not provided. This renders Linguist unsuitable for content such as GitHub Gists or code snippets within README’s, issues, and pull requests.

In order to make language detection more robust and maintainable in the long run, we developed a machine learning classifier named OctoLingua based on an Artificial Neural Network (ANN) architecture which can handle language predictions in tricky scenarios. The current version of the model is able to make predictions for the top 50 languages hosted by GitHub and surpasses Linguist in accuracy and performance.
Read more →
Total votes 6: ↑5 and ↓1 +4
Comments 0
1

Authors' contribution