Pull to refresh

All streams

Show first
Period
Level of difficulty

Stonehenge. The secrets of megaliths

Reading time2 min
Views1.2K
A version how people transported megaliths in Stonehenge.

image

They started their work in summer.

They prepared road for transportation. They needed a clean and glade road without stones and other irregularities. (No.4 on picture)
Perhaps they cut the topsoil and covered the road with clay. (No.3 on the picture)
On each side they made curbs ( 5-10 cm). (No.2 on the picture)
They used clay because they wanted to hold water inside the road.
In autumn rains filled road with water. It looked like a big puddle. (No.5 on the picture)

In winter road froze. Then they got a smooth ice skating rink slightly wider than a megalith.

Megaliths (No.11) were transported in winter.

Mechanism and vehicles for transportation were prepared in summer.

Mechanism consisted of three parts.

image
Read more →

SAPUI5 for dummies part 5: A complete step-by-step exercise

Reading time4 min
Views6.8K


Introduction & Recap


In the previous blog post, we learned how to create a second level of drill-down (detail of detail) and how to interact with OData and ODataModel (v2) in order to delete a database record.


What will be covered on this exercise


With Part 5 of this series of blog posts, we will learn how to create a SimpleForm within a Dialog that will allow us to update the information of a Sales Order Item.


Before updating the database order we have to check that everything typed by the user validates our constraints.


  • ODataModel: we have already used it to display server-side information about our Business Partner, Sales Order, and Sales Order Items. We’ve also used it to delete a database record. We’re now going to use it to update a record thanks to the submitChanges method or remove what we’ve done with the resetChanges method.
  • Expression Binding: an enhancement of the SAPUI5 binding syntax, which allows for providing expressions instead of custom formatter functions
  • SimpleForm: a layout that allows users to create a pixel-perfect form
Read more →

ChatGPT-4: How to use it for free

Reading time3 min
Views5.9K

ChatGPT-4, the latest model from OpenAI, boasts impressive capabilities like text generation, question answering, problem-solving, coding, and even image analysis. However, accessing it requires a $20 monthly subscription on OpenAI's website. For residents of certain countries, accessing the service poses additional challenges due to restrictions, necessitating the use of foreign payment methods and VPNs.

We've created a list of the top-4 services that offer completely free access to ChatGPT-4. This article will delve into the advantages and limitations of each option, comparing them side-by-side.

Read more

Productivity in Silence: The Ideal of Eliminating Meetings

Level of difficultyEasy
Reading time10 min
Views800

In the software development industry, a lot of time and resources are spent on meetings. Many managers have calendars filled with meetings most of the time.

According to a study by Atlassian, the average worker spends up to 31 hours a month on unproductive meetings. That's about 8 hours a week, which is equivalent to a full work week for one employee out of a team of five people every month. If we convert this into working days, it means that on average four people are working, and one is constantly in meetings. This does not take into account additional time spent on informal discussions and ad-hoc meetings, which further reduce the time available for direct work on product creation. Thus, developers actually spend less than half of their working day on direct development, which is a worrying sign for any organization striving for innovation and efficiency.

Personally, I don't like meetings. I always try to minimize communication if an issue can be resolved without a face-to-face meeting. I apply this rule both at work and in life. For example, I prefer to refuel my car using an app, and I try to order food and other services without needing confirmation from an operator, and I did this even when such an approach was not so common. If I need to find a place, I will open a map in the app, instead of asking passers-by for directions.

My reluctance to waste time or be inefficient has resulted in our software development department carefully monitoring the time our developers spend on meetings. On average, a developer has only 2 hours and 15 minutes of mandatory meetings per week, including four 15-minute stand-ups, a 30-minute one-on-one meeting with a manager every two weeks, and 60 minutes for various meetings such as planning and demonstrations. The rest of the time, about 5 hours and 45 minutes, is spent on other activities in MS Teams, including chats and individual calls. Although we believe that this time should also be optimized, we focus mainly on key meetings to ensure that every minute spent is valuable.

In this article, I will consider the approaches I use and the ideas that motivate me to minimize the costs associated with meetings.

Read more ?

Langton's ant: a mystery cellular automaton

Reading time4 min
Views3K

The life of Langton's Ant seems sad and lonely, but, as we'll soon discover, he is not ready to put up with such an outrageous situation and is trying his best to escape. American scientist Christopher Langton invented his ant back in 1986. Since then, no one has been able to explain the strange behavior of this mysterious model...

Read more

How to put the whole world into a regular laptop: PostgreSQL and OpenStreetMap

Level of difficultyEasy
Reading time12 min
Views3.3K

When a person used to say that he controls the whole world, he was usually placed in the next room with Napoleon Bonaparte. I hope that these times are in the past and everyone can analyze the geodata of the entire Earth and get answers to their global questions in minutes and seconds. I published Openstreetmap_h3 - my project, which allows you to perform geoanalytics on data from OpenStreetMap in PostGIS or in any query engine that can work with Apache Arrow / Parquet.

First of all, I say hello to the haters and skeptics. What I developed is really unique and solves the problem of transforming and analyzing geodata using the usual and familiar tools available to every analyst and data science specialist without bigdata, GPGPU, FPGA. What looks easy to use and code now is my personal project where I have invested my vacations, weekends, sleepless nights and a lot of personal time over the past 3 years. Maybe I will share the background of the project and the rake that I went through, but first I will still describe the end result.

Read more

How to create bilingual books. Part 2. Lingtrain Alignment Studio

Reading time6 min
Views3.6K

title


How to make a parallel book for language learning. Part 1. Python and Colab version


This is a second article on making parallel books. Today we will use the more advanced tool which will bring rich UI functionality. Lingtrain Alignment Studio is a web application written on Vue and Python. The main purpose of it is to extract the parallel corpora from two raw texts and make a bilingual (or even multilingual) parallel book. This is an open-source project and I will be glad to hear all of your bright ideas. Links to the sources and our community contacts can be found below. Los geht's!


Setup


The app is packed into the docker container. It's a simple technology to deploy your stuff anywhere from the server to your local machine. It's available across all the operating systems. So at first, you need a docker installed locally. Then you need to run two simple commands. The first will download the container:


docker pull lingtrain/aligner:v4

And the second one will run the application:


docker run -v C:\app\data:/app/data -v C:\app\img:/app/static/img -p 80:80 lingtrain/aligner:v4

C:\app\data and C:\app\img — your local folders.


The app will be available on the 80th port. Let's open the localhost page in your favorite browser.


Lingtrain app 1


We will make three simple steps: Load, Align, Create

Continue reading

Algorithms in Go: Dutch National Flag

Reading time3 min
Views2.9K

The flag of the Netherlands consists of three colors: red, white and blue. Given balls of these three colors arranged randomly in a line (it does not matter how many balls there are), the task is to arrange them such that all balls of the same color are together and their collective color groups are in the correct order.

For simplicity instead of colors red, white, and blue we will be dealing with ones, twos and zeroes.

Let's start with our intuition. We have an array of zeroth, ones, and twos. How would we sort it? Well, we could put aside all zeroes into some bucket, all ones into another bucket, and all twos into the third. Then we can fetch all items from the first bucket, then from the second, and from the last bucket, and restore all the items. This approach is perfectly fine and has a great performance. We touch all the elements when we iterate through the array, and then we iterate through all the elements once more when we "reassamble" the array. So, the overall time complexity is O(n) + O(n) ~= O(n). The space complexity is also O(n) as we need to store all items in the buckets.

Can we do better than that? There is no way to improve our time complexity. However, we can think of a more efficient algorithm in regard to space complexity. How would we solve the problem without the additional buckets?

Let's make a leap of faith and pretend that somehow we were able to process a part of the array. We iterate through part of the array and put encountered zeroes and ones at the beginning of the array, and twos at the end of the array. Now, we switched to the next index i with some unprocessed value x. What should we do there?

Read more

Distributed File Systems

Reading time9 min
Views10K

The Big Data Tools plugin seamlessly integrates HDFS into your IDE and provides access to different cloud storage systems (AWS S3, Minio, Linode, Digital Open Space, GS, Azure). But is this the end? Have we implemented everything and now progress has stopped? Of course not.


In this short digest, we'll take a look at 15 popular distributed file systems available on the market and try to get a sense of their individual advantages.


Almost all of these systems are free or open-source, and you can find the sources on GitHub. The sites of these projects, their documentation, and online reviews provide most of the information we’ll consider here. Other than HDFS, none of these technologies have been implemented yet in Big Data Tools. But who knows? Perhaps someday we'll see them in our plugin.


Read more →

Brainless Platform for a Robotic Vacuum Cleaner

Reading time11 min
Views1.3K
More on robotics.snowcron.com

First of all, this is just an exercise, useful as is, but the result is going to be far from an industrial level robots. Why doing it then?

For the same reasons we do all exercise: to get an experience. After all, when we write a character recognition «MNIST classifier» neural network, we know that the problem is solved long time ago. But we need to become familiar with tools and approaches. Same here.

Now, why is it called «brainless»?

Compensation for Error Caused by Limited Gain-Bandwidth of Operational Amplifiers in Low-pass Filters

Reading time6 min
Views4.7K
Amateur vs Pro

An operational amplifier has the internal compensation circuit for stability which limits its working bandwidth. Frequency response of the compensated Op Amp has slope of −6 dB/octave or −20 dB/decade. Unity gain frequency defines the bandwidth where the Op Amp is able to amplify a signal. If we multiply the gain and frequency at any point, the result is the same, allowing us to use this parameter to select the appropriate Op Amp. It is called Gain-Bandwidth Product, GBW or GBP. The limited open-loop gain introduces a closed-loop gain and phase error.

But we want to optimize our circuits, right?
Read more →

JavaCC 21 Parser Generator

Reading time4 min
Views2.7K

JavaCC 21 is a continuation of work on the venerable JavaCC parser generator, originally developed at Sun Microsystems in the 1990’s and released under a liberal open source license in 2003. It is currently the most advanced version of JavaCC. It has many feature enhancements (with more to come soon) and also generates much more modern, readable Java code. Also, certain key bugs have finally been fixed. (N.B. The “21” in JavaCC 21 is not a version number. It is simply part of the project name and means that this is a JavaCC for the 21st century!)

Read more →

Laser that cuts inside the cornea: ReLEx procedure at the physical level

Reading time6 min
Views2K
The idea — to take and cut a lens in a transparent cornea — is not new. At first it was done manually, with a scalpel directly on the surface (difficult and very rough, with a sea of side effects). The first laser was used in 1979, then it was a pulsed infrared emitter with an effective pulse length of 4 nanoseconds.


Step 1: creating a plasma bubble, in fact — a microburst. Step 2: expansion of the shock and heat waves. Step 3: cavitation bubble (plasma expansion). Step 4: the formation of a parallel slice at the expense of several adjacent laser focus points.

Read more →

Custom instruments: When signpost is not enough

Reading time7 min
Views2.7K
In our previous article, we discussed the reasons of unit-tests’ instability and how to make them stable. Now let’s look through a new tools for debugging and profiling which were introduced by Apple in iOS 12 — the framework os_log and instrument for performance analysis os_signpost.

image

In one of the sprints, we were tasked with implementing the generation of a pdf-document on the client-side. We completed the task. But we wanted to make sure the effectiveness of the technical nuances of the decision. Signpost helped us with this. Using it we increased he document’s displaying speed several times.

To learn more about os_signpost application technology, see where it can help you and how it has already helped us, go further forward.
Read more →

Using Data Science for house hunting in Montreal

Reading time7 min
Views4.8K

Introduction


I happen to live in Montreal, in my condo on the edge of McGill Ghetto. Close to Saint Laurent Boulevard or the Maine as locals call it, with all it's attractions — bars, restaurants, night clubs, drunken students. And once upon a time, on a particular lively night, listening to the sounds of McGill frosh students drunkenly heading home after hard night of studying. I thought, that it might be a good idea to move into my own house, a little bit further away from the action.


Image

Read more →

Prettier is a Must-Have for Large-Scale Projects: Spent 20 Minutes Setting It Up and Forgot About Formatting for a Year

Reading time3 min
Views4.4K
Many dev teams get split over formatting. And their typical day looks like this: you come to work, have some coffee, write some code, everything’s fine — then bam! Code review where you’re told you put a brace in the wrong place.

image

It was an everyday reality for one of Skyeng dev teams a year ago. Then someone had enough and said, “Guys, from now on we use Prettier. Is everyone ok with that?” And then there were no more debates about formatting. We’ve installed Prettier in the frontend repo and all the teams use it.
Read more →

Lab tour: Functional Materials and Devices of Optoelectronics at ITMO University

Reading time3 min
Views1.4K
Today we’re taking a look at the Functional Materials and Devices of Optoelectronics Lab at ITMO University, the equipment it houses, and the projects underway at the facility. It is an international research facility located in the center of St. Petersburg. The staff is primarily occupied with the search for innovative materials (semiconductors, metals, and nanostructured oxides), and the manufacturing of next-gen micro- and optoelectronic gadgets. Here we take a look at the high-tech equipment it utilizes.

Read more →

Content Localization Strategies

Reading time7 min
Views1.7K


Setting up the content localization and, thus, configuring the interface language of the product in such a way that the right language is rendered to the right user is extremely important for each digital platform. That’s why we have decided to translate and share with you this expert article by Nicolai Goshin from Hellicht Medien.


And we strongly hope that some strategic points would be valuable for your localization projects!


Background and preliminary considerations


Digital projects targeting audiences in different countries or different language areas are doomed to take advantage of localization strategies. So we must answer the following question: which users should be given which content in which languages? The question at the first sight seems simple. But later in this article we will point out why this topic is, in fact, complex. And, of course, we will also address how to deal with this complexity.


Let's assume a scenario in which content (for example, an online magazine) is available in three languages: German, English, and Arabic. The goal is ideally to provide content to each user in their native language. If this is not possible, the content should be provided to the user in the language that they best understand apart from their mother tongue.

Read more →