sorsarre: Magic hat! (Default)
For goodness' sake, it's half past four in the morning.
Been a while since I'd written anything.
Long story short — the usual issues are still there, exacerbated by the whole COVID craze rather than quenched by a year's time spent being holed up at home.
Going back to the office, albeit only for three days a week. Now that's some fresh air at long last. I must admit, I friggin' hate WFH.
sorsarre: Magic hat! (Default)

While writing the previous rant, it has occurred to me that many binary formats are not, in fact, context-free.

It is often the case that the structure you are trying to read depends on elements already encountered earlier in the stream. This means that no DSL that could be invented for binary parsing cannot escape managing state if it is to be a full-blown parser that produces a usable model, object or otherwise. And that state management can be pretty damn complicated. 

 
One glorious example would be MPEG-TS (MPEG Transport Stream). That format has at least three layers of binary syntax. Lower layers have to be parsed through, then selected bits of them will have to be fed into the next layer's parser, and so on, ad nauseam.
 
Another example would be the messier varieties of ISOBMFF like Apple QuickTime or Sony camera output. With those, you literally have to check the flags already encountered elsewhere to parse them correctly. Long story short, any DSL sufficiently complex for creating a complete binary parser that spews out an object model implies inventing a whole programming language, control flow and all.
 
I have struggled with the issue for quite some time, ever since I had first run into binary formats while working at MainConcept. So far I couldn't find a silver bullet. I can only say that the best bet so far is code generation — it saves the effort of writing most of the boilerplate, but would still give reasonable leeway for the crazier cases.
 
sorsarre: Magic hat! (Default)
I wonder what is the actual matter with the binary parsing.

I mean, it's not that much more particularly hard than the bona fide text parsing. It does get a bit convoluted when error recovery is involved, yes, but in the end, why not? You google up text parsing and you've got yourself a whole lot of stuff, ranging from small parser combinator libraries to full-blown parser generators with bells and whistles like ANTLR. But try the same with binary parsing and it's all half-assed solutions which can't do bit twiddling or are written by someone trying to go all declarative (unfortunately, json kind of declarative, fields and structs) without going into any of the uglier binary format issues.

Mundane

Dec. 26th, 2019 02:02 am
sorsarre: Magic hat! (Default)
 Whoa, it's been more than a year since I've last written here.
Some stuff changed, like a new job (holy-moly, finally a goodbye to the outsourcing crap, by the gods did I hate that stint towards its much overdue end!), or getting married. Some, like near damn constant lack of sleep or wasting a metric shit-ton of time being stuck in the phone reading random stuff, definitely did not.
sorsarre: (evil)
 In the light of the previous post, I've been digging around all the budgeting apps, and all of them seem to be grossly lacking functionality in the budget department, i.e. go find an app which can do low/high income projections, or tie your budgeting periods to paychecks, or tie the envelopes to percentage of income instead of fixed sums, or having a shared account, or letting you play around with projections like savings/mortgage/etc.

Kinda stupid. All I see around are glorified expense trackers. YNAB kind of hits the right spot for a few things, but mostly it has the same problems, along with being on a monthly subscription fee which is not exactly a thing you want when you're running on fumes.

I'm kinda thinking of my own app for that matter. Expense tracking with shared account and basic envelope budgeting would be a start, I guess.
sorsarre: This is shit even bear cannot bear. (facepalm)
After a couple of years of income growth I've figured out there's one thing I don't do well, or, to be precise, don't do at all — it's budgeting.
Regardless of how much my payroll grows, it seems that be the end of the month I'm running on fumes and find myself postponing bills until the next bi-weekly paycheck cause well, y'know, it all comes out of blue. Yikes. And then something like a sick leave or a birthday comes along and it all goes right out of the window. Lifestyle creep is a bitch. Ha-ha, I hate to say that but in the light of finishing up my third decade I'm still kinda learning to adult.
sorsarre: (aperture)
Saw some movement in the news about Tim Berner-Lee's Solid.
TL;DR: Hard to figure the whole point of it at a first glance.


As a matter of habit, I'm inclined to feel good about it, but let's be honest it looks like another piece of turn-everything-into-RDF-semantic-web-tinfoil-kill-google-with-fire-now kind of bonanza. Wouldn't exactly be the first.

On the other hand, the premise of hosting all of your data on your location of choice seems rather legit. The one thing I don't understand though is how it is going to be enforced in practice. Open source, data retention audits, yes, good, more of that please. But still, what's to stop another corp from forcing a user to provide certain data in exchange for using their services? From collecting it in the process? No bloody foggiest idea how turning everything into an RDF galore is going to fix that sort of mess, which is, seemingly, the main reason the project even exists in the first place.

I guess figuring out what they are trying to do is going to take a little more digging around the documentation. Aw hell.
sorsarre: Magic hat! (Default)
Holy moly, it's been a while.

Lemme guess, what's happened since then? Well, maybe some mortgage, a lot more messing with the WiFi on a head unit, and just perhaps a little bit too much time wasted on Netflix.
Anyway, it's kinda hard to do a retrospect on Saturday morning. So to hell with it, I gotta get some coffee...

Wurk-wurk

Apr. 18th, 2017 04:55 pm
sorsarre: Magic hat! (Default)
The WiFi chip story of a few recent days concluded with some ugly soldering. But it didn't end there, nope! The chip went up, but the stock driver crashes. Enduring craftsmanship, so to speak.

Well, not that there's anything else I can do about it at this point, so, at long last, I can put the issue to rest, at least for a while.

Wurk-wurk

Apr. 17th, 2017 11:11 pm
sorsarre: Magic hat! (Default)
 The day is coming to a close. Still — no luck with awful TP-Link drivers based on awful MediaTek drivers based on awful Ralink drivers. No luck at all, not not even with MediaTek drivers themselves.

I have to admit that for a company supplying chips for half the contemporary USB WiFi dongles, they are doing one hell of a poor job with the drivers, at least if we are talking about Linux.

Not-so-terribly-good opinion )

Wurk-wurk

Apr. 17th, 2017 10:42 am
sorsarre: Magic hat! (Default)
 I'm wondering if I'd be able to get the damn MediaTek driver to work on the target hardware, given all its dynamic DMA buffer requirements. So far even decreasing buffer size while increasing CMA size didn't prevent the allocator from failing. Sometimes embedded development can be a tad too much fun, to be honest. But hey, I'm not even making MCU firmware here, so I guess I shouldn't complain — after all, you could run into all the same issues on a fully blown PC around ten years ago. :)
sorsarre: Magic hat! (Default)
Spending an entire Sunday on the couch with books and marathoning Iron Fist on Netflix seems to be a good cure for Monday sickness. Having to go to work didn't seem half as awful this time as it usually is. I'd even go as far as saying that it actually feels kinda good.

One hell of a good surprise if you ask me.
sorsarre: Magic hat! (Default)
That funny moment when the morning is so lazy you need a long stick to fetch some from the bookshelf without getting out of bed.
sorsarre: Magic hat! (Default)
 Давненько я ничего внятного нигде не писал. Невнятного тоже. Снова начать, чтоли?

Back to DW

Dec. 2nd, 2011 10:27 pm
sorsarre: Magic hat! (Default)
The LJ is down once again. I keep wondering what the hell is going down there. The poor thing has been DDoS'ed much too often recently. It seems that it's more convenient to stay here on dreamwidth and keep exporting to LJ.
sorsarre: Magic hat! (Default)
Если по чесноку, то к комментариям я всегда относился как-то наплевательски. Программы, как правило, жили недолго, и поэтому оные содержали больше разных смехуечков, нежели четкое описание происходящего.

В очередной раз сел читать прошлогодний код. Только сейчас начал осознавать реальную ценность комментариев и документации. Ибо ни одного внятного комментария (помимо "ГДЕ БЛ#ТЬ МОЯ ДВОЙНАЯ ДИСПЕТЧЕРИЗАЦИЯ?!"), некоторые вещи просто в упор неясны и в некоторых местах откровенно присутствует чОрная магия™. В курсовой описание поверхностное, так как расплываться мыслью по древу и вдаваться в детали, коих тьма, было не люто комильфо. Отлично. Еще неделю придется потратить на разбор этого добра и добавление комментариев и написание хотя бы минимальной документации к коду (doxygen, привет).
Радует то, что, во всяком случае, не придется за месяц все это истерично делать, как в прошлом году. 
sorsarre: Magic hat! (Default)
Однако. ЖэЖэ в последнее время стал уныл и нестабилен чуть более, чем полностью. Перебираюсь сюда.

Profile

sorsarre: Magic hat! (Default)
sorsarre

April 2025

M T W T F S S
 123456
78910111213
14 151617181920
21222324252627
282930    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 04:05 pm
Powered by Dreamwidth Studios