Search
Write a publication
Pull to refresh

PopSci

Show first
Period
Level of difficulty

My Pascal compiler and Polish contemporary art

Reading time5 min
Views7.3K

Origins


Several years ago I wrote a Pascal compiler. The motivation was simple: as a teenager, I had learnt from my first programming textbooks that a compiler is a very sophisticated thing. This claim eventually became a challenge and required to be tested by experience.

image
ha.art.pl

First, a simplistic PL/0 compiler came into being, and later an almost fully-functional Pascal compiler for MS-DOS has grown from it. My source of inspiration was the Compiler Construction book by Niklaus Wirth, the inventor of the Pascal language. I don't care if Wirth's views are now considered obsolete and have no direct connections to the IT mainstream, or if the compiler design fashion has changed. It is enough to know that his techniques are still simple, elegant, and — last but not least — bring much fun, since it is more appealing to parse a program source with a handwritten recursive descent parser and generate the machine code, rather than to call yaccs, bisons and all their descendants.

My compiler's fate was not so trivial. It has lived two lives: the first one in my own hands, and the second in the hands of computer antiquarians from Poland.

Manifest of Smart Home Developer: 15 principles

Reading time12 min
Views4.2K
Today I’d like to speak about Smart homes and IoT devices. But it is no ordinary article. You won’t find description of hardware, links to manufacturers, batches of code or repositories. Today we’ll discuss something of a higher level — principles that are used to organize “smart” systems.

image



Smart home is a system that can do some everyday routines instead of a person. It leads us to the first and the main principle:
Read more →

Make it easier to get finished: Interview with John Romero, developer of Doom

Reading time12 min
Views6.1K
At the last Tech Train IT festival, we met the legendary John Romero, who designed and developed the iconic Wolfenstein 3D, Doom, and Quake. We talked about whether game developers need soft skills, which working tools to pay attention to, and which co-founder of Id Software's favorite toys are. Questions were asked by Nikita Tsaplin, the founder of RUVDS.


→ Text and video in Russian

“I can tell you about the pain every iOS developer has in the ass” — 10 questions to a developer, episode 2

Reading time7 min
Views3.6K


Seems like everyone enjoyed the pilot episode, and we’re still sure that people “behind the scenes” can be as exciting as IT celebrities we all know and love. And maybe even more, because they talk about real problems and real solutions. This week we asked 10 questions to a person behind the development of Yandex.Maps for iOS.

Progress and hype in AI research

Reading time19 min
Views4.8K

The biggest issue with AI is not that it is stupid but a lack of definition for intelligence and hence a lack of formal measure for it [1a] [1b].


Turing test is not a good measure because gorilla Koko [2a] and bonobo Kanzi [2b] wouldn't pass though they could solve more problems than many disabled human beings.


It is quite possible that people in the future might wonder why people back in 2019 thought that an agent trained to play a fixed game in a simulated environment such as Go had any intelligence [3a] [3b] [3c] [3d] [3e] [3f] [3g] [3h].


Intelligence is more about applying/transferring old knowledge to new tasks (playing Quake Arena good enough without any training after mastering Doom) than compressing agent's experience into heuristics to predict a game score and determining agent's action in a given game state to maximize final score (playing Quake Arena good enough after million games after mastering Doom) [4].


Human intelligence is about ability to adapt to the physical/social world, and playing Go is a particular adaptation performed by human intelligence, and developing an algorithm to learn to play Go is a more performant one, and developing a mathematical theory of Go might be even more performant.

Read more →

How to milk cows with robots and make an industrial startup of it. The history of the R-SEPT development

Reading time10 min
Views2.6K


In 2017, the media heard a very interesting story about a startup that robotizes milking cows on industrial dairy farms. The company is called R-SEPT, and back then it received 10 million rubles of investment. But a year has passed, and there's still no news on what happened further. We contacted Aleksey Khakhunov (AlexeiHahunov), the founder of the startup, and discussed the development. It turns out that the whole year his team was getting the prototype of the robot into shape, and just a week ago they conducted their first field test on the farm.

Under the cut there's a story about a robotics student who grew up on his parents' farm, turned the University diploma into an industrial startup, as he collected the first manipulators with his friends, and then scaled up to the level of state programs for the robotization of agriculture. And the most important is how the iron hand of the robot and the machine vision are better than a living milkmaid.
Читать дальше →

I am a useless idiot, so I want to quit my job: 10 questions to a software developer, a pilot episode

Reading time7 min
Views9.2K


Hi there, Habr!

Remember the story of Steve Jobs and Dennis Ritchie? Without any intention to rekindle the debates or moralize on the subject, let’s face the truth: thousands of stellar techies live in the shadow, while their own stories are hidden in a dusty cupboard.

We, the Habr editorial team, are keen to tackle this injustice. From now on, we will regularly interview people who keep a low profile in media and social networks. So if you have anything to tell about yourself, get ready.

To give you an idea of what this will look like, we will lead the way. Click below to see 10 general questions we will ask every guest. For our pilot episode, the first guest to answer the questions was fillpackart. (This month I’ve had several quite good interview sessions with him, see articles one, two, three). Please read them, and if you make up your mind on telling your own story in a similar way, just send me or baragol a message.
Read more →

Celestia: Bugs' Adventures in Space

Reading time6 min
Views1.1K
Picture 1

Celestia is a three-dimensional space simulator. Simulation of the space allows exploring our universe in three dimensions. Celestia is available on Windows, Linux and macOS. The project is very small and PVS-Studio detected few defects in it. Despite this fact, we'd like to pay attention to it, as it's a popular educational project and it will be rather useful to somehow improve it. By the way, this program is used in popular films, series and programs for showing space. This fact, in turns, raises requirements to the code quality.
Read more →

How does a barcode work?

Reading time6 min
Views13K
Hi all!

Every person is using barcodes nowadays, mostly without noticing this. When we are buying the groceries in the store, their identifiers are getting from barcodes. Its also the same with goods in the warehouses, postal parcels and so on. But not so many people actually know, how it works.

What is 'inside' the barcode, and what is encoded on this image?



Lets figure it out, and also lets write our own bar decoder.
Read more →

Chemistry lesson: how to expose a microchip's crystal for photography

Reading time6 min
Views2.1K

Introduction


If you have dabbled into microchip photographing before, then this article will probably not offer much to you. But if you want to get into it, but don’t know where to start, then it’s exactly for you.


Before we start, a fair warning: while the procedure is quite entertaining, at first it’ll probably be physically painful. The chemicals used during the process are toxic, so please handle them carefully – that way it’ll still hurt, but less so. Also, if you have even a slight amount of common sense, conduct the procedure in a fully-equipped chemical laboratory under supervision of trained professionals: we’ve had to deal with people who tried to do it at home immediately after reading the guide. And finally: if you don’t know whether you need to pour acid into water or water into acid without a Google search and don’t realize what this lack of knowledge will entail – stop reading this immediately and go to a chemistry 101 course in a local college or something.


Read more →

Audio over Bluetooth: most detailed information about profiles, codecs, and devices

Reading time24 min
Views320K
XKCD comic. How standards proliferate. SITUATION: there are 14 competing standards. Geek: 14?! Ridiculous! We need to develop one universal standard that covery everyone's use cases. Geek's girlfriend: yeah! SOON: Situation: there are 15 competing standards.

This article is also available in Russian / Эта статья также доступна на русском языке

The mass market of smartphones without the 3.5 mm audio jack changed headphones industry, wireless Bluetooth headphones have become the main way to listen to music and communicate in headset mode for many users.
Bluetooth device manufacturers rarely disclose detailed product specifications, and Bluetooth audio articles on the Internet are contradictory and sometimes incorrect. They do not tell about all the features, and often publish the same false information.
Let's try to understand the protocol, the capabilities of Bluetooth stacks, headphones and speakers, Bluetooth codecs for music and speech, find out what affects the quality of the transmitted audio and the delay, learn how to capture and decode information about supported codecs and other device features.

TL;DR:

  • SBC codec is OK
  • Headphones have their own per-codec equalizer and post processing configuration
  • aptX is not as good as the advertisements say
  • LDAC is a marketing fluff
  • Voice audio quality is still low
  • Browsers are able to execute audio encoders compiled to WebAssembly from C using emscripten, and they won't even lag.

Reverse engineering a high-end soldering station

Reading time15 min
Views21K


(This is the translation of the original article performed by baragol)

We had a bunch of photographs of the main PCB, a YouTube video with drain-voltage waveforms of MOSFETs, a forum post with a breakdown of the capacitance values of LC circuit capacitors and also a number of unboxing videos showing the heating-up of the soldering tip. The only thing that really worried me was the video with the measurement of the peak power consumption during the heating-up. There is nothing in the world more helpless and irresponsible and depraved than burned cartridge newly bought for 60 bucks from Amazon. But let me start from the beginning.
Read more →

You Do Not Need Blockchain: Eight Well-Known Use Cases And Why They Do Not Work

Reading time9 min
Views3.8K

image


People are resorting to blockchain for all kinds of reasons these days. Ever since I started doing smart contract security audits in mid-2017, I’ve seen it all. A special category of cases is ‘blockchain use’ that seems logical and beneficial, but actually contains a problem that then spreads from one startup to another. I am going to give some examples of such problems and ineffective solutions so that you (developer/customer/investor) know what to do when somebody offers you to use blockchain this way.


Disclaimers


  • The described use cases and problems occur at the initial stage. I am not saying these problems are impossible to solve. However, it is important to understand which solutions system creators offer for particular problems.
  • Even though the term ‘blockchain use’ looks strange and I am not sure that blockchain can be used for anything other than money (Bitcoin), I am going to use it without quotes.

1. Supply chain management


Let’s say you ordered some goods, and a carrier guarantees to maintain certain transportation conditions, such as keeping your goods cold. A proposed solution is to install a sensor in a truck that will monitor fridge temperature and regularly transmit the data to the blockchain. This way, you can make sure that the promised conditions are met along the entire route.

Read more →

6 Applications for the Industrial IoT

Reading time6 min
Views2.3K
“Come on, baby, what’s wrong? Tell me what you need,” my uncle Nicholas was shredding up his old car’s engine, which totally refused to start. Being a schoolboy back then, I was absolutely sure that any exhortation my uncle voiced was powerless against a dumb ton of metal. Talking to a car was just a psychological trick that probably helped my uncle cope with exasperation. Moreover, neither me nor my uncle believed in a possibility to communicate with “dead metal” sometime in the near future. That was in the mid-1980s. When I reached the age of my uncle, the situation changed radically.
Read more →

286 and the network

Reading time7 min
Views4.8K
Author of the original post in Russian: old_gamer

image

I'm a ragman. I have a closet full of old hardware. From Boolean logic microchips in DIP-cases to Voodoo5. Of course, there's no practical value in all of this, but some people enjoy messing with old hardware. If you are one of them, I invite you under the cut, where I will tell you how the computer based on AMD 286 processor worked with a modern network, and what came out of it.
Read more →

Tesla Cybertruck copy was spotted in Moscow. This is a customized… Russian LADA Samara

Reading time2 min
Views5.6K
image

Hi Habr! Just noticed that this funny article exists only in Russian, so I’ve decided to translate it to English with some light modifications. Please enjoy!

Few days ago Tesla Cybertruck replica has been spotted on the roads of Moscow. The design of the electric pickup presented by Elon Musk can't be confused with anything else.