Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "at the limit of what i can do"
-
//
// devRant unofficial UWP update (v2.0.0-beta)
//
After several concepts, about 11 months of development (keep in mind that I released 20 updates for v1 in the meantime, so it wasn't a continous 11 months long development process) and a short closed beta phase, v2 is now available for everyone (as public beta)! :)
I tried to improve the app in every aspect, from finally responsive and good looking UI on Desktop version to backend performance improvements, which means that I almost coded it from scratch.
There are also of course a few new features (like "go to bottom" in rants), and more to come.
It's a very huge update, and unfortunately to move forward, improve the UI (add Fluent Design) and make it at the same level of new UWP apps, I was forced to drop the supported for these old Windows 10 builds:
- Threshold 1 (10240)
- Threshold 2 (10586)
Too many incompatiblity issues with the new UI, and for 1 person with a lot of other commitments outside this project (made for free, just for passion), it's impossible to work at 3 parallel versions of the same app.
I already done something like that during these 11 months (every single of the 20 updates for v1 needed to be implemented a second time for v2).
During the closed beta tests, thanks to the awesome testers who helped me way too much than I ever wished, I found out that there are already incompatiblity issues with Anniversary Update, which means that I will support two versions:
1) One for Creators Update and newer builds.
2) One for Anniversary Update (same features, but missing Fluent Design since it doesn't work on that OS version, and almost completly rewritten XAML styles).
For this reason v2 public beta is out now for Creators Update (and newer) as regular update, and will be out in a near future (can't say when) also for the Anniversary Update.
The users with older OS versions (problem which on PC could be solved in 1-2 days, just download updates) can download only the v1.5.9 (which probably won't be supported with new updates anymore, except for particular critcal bug fixes).
So if you have Windows 10 on PC and want to use v2 today, just be sure you have Creators Update or Fall Creators Update.
If you have Windows 10 PC with Anniversary Update, update it, or if you don't want to do that, wait a few weeks/months for the update with support for your build.
If you have an older version on PC, update it, or enjoy v1.5.9.
If you have Windows 10 Mobile Anniversary Update, update it (if it's possible for your device), or just wait a few weeks/months for the update with support for your build.
If you have Windows 10 Mobile, and because of Microsoft stupid policy, you can't update to Anniversary Update, enjoy v1.5.9, or try the "unofficial" method (registry hack) to update to a newer build.
I hope it's enough clear why not everyone can receive the update today, or at all. :P
Now I would like to thank a few people who made this possible.
As always, @dfox who is always available for help me with API implementations.
@thmnmlist, who helped me a lot during this period with really great UI suggestions (just check out his twitter, it's a really good person, friend, designer and artist: https://twitter.com/thmnmlist).
And of course everyone of the closed beta testers, that reported bugs and precious suggestions (some of them already implemented, others will arrive soon).
The order is random:
@Raamakrishnan
@Telescuffle
@Qaldim
@thmnmlist
@nikola1402
@aayusharyan
@cozyplanes
@Vivaed
@Byte
@RTRMS
@tylerleonhardt
@Seshpengiun
@MEGADROID
@nottoobright
Changelog of v2.0.0-beta:
- New UI with Fluent Design and huge improvements for Desktop;
- Added native support for Fall Creators Update (Build 16299);
- Changed minimum supported version to Creators Update (Build 15063), support for Anniversary Update (Build 14393) will arrive soon;
- Added mouse support for Pull-To-Refresh;
- Added ability to change your username and email;
- Added ability to filter (by 'Day', 'Week', 'Month' and 'All') the top Rants;
- Added ability to open rant links in-app;
- Added ability to zoom GIFs (just tap on them in the Rant View);
- Added 'go to bottom' button in the Rant View (if more than 3 comments);
- Added new theme ('Total Black');
- ...complete changelog in-app and on my website (can't post it here because of the 5000 characters limit)...
What will arrive in future updates:
- 'Active Discussions' screen so you can easily find rants that have recent comments/discussions;
- Support for 'Collabs';
- Push Notifications (it was postponed and announced too many times...);
- More themes and themes options;
- and more...
If you still didn't download devRant unofficial UWP, do it now: https://microsoft.com/store/apps/...
If you find some bugs or you have feature suggestion, post it on the Issue Tracker on GitHub (thanks in advance for your help!): https://github.com/JakubSteplowski/...
I hope you will enjoy it! ;)52 -
1. I wish that people start taking back their device ownership. Right to repair is an extremely important thing. Like that Nexus 6P that I've recently repaired by jamming another battery into it, now it's at 110-ish% health according to AccuBattery. And it cost me.. €10 or so? All the while if I wasn't able to get in there, it would've been a €120 paperweight (and that's not even considering the €300-ish (? Someone please fill me in on that) price it retailed at back in 2015 when it was a flagship).
(edit the so many'th: according to https://express.co.uk/life-style/... the base model was apparently £449 at release, haven't been able to verify it though.. point is, a paperweight at such prices would've been quite a bummer, I mean for me it was even one given that it failed a mere few months after purchase for €120.. €40/m for a phone ain't nothing :/)
Right to repair is an extremely important thing, and the ability to do so shouldn't ever be impeded. Users should become able again to service the devices that they own.
2. I wish that people start caring about their privacy again. Google and Facebook and the likes are large companies, but at the end of the day, that's all they are. Large companies. And they're hungry for your data, not because they're selling it, rather because they're collecting it to an extent which they shouldn't. Over at DDG (https://spreadprivacy.com/duckduckg...) they explain a very much viable alternative revenue model pretty well. Additionally, there's several tools which you can use to limit the amount of data that's being collected about you. These include but are not limited to Firefox, NoScript, ad blockers (I personally use uBlock), a trustworthy VPN (ideally one of your own), and Tor.
3. I wish that software would become less inefficient. It really pains me to see that applications with functionality that could be implemented in a couple of MB at most come at a size of several hundreds of MB. 1% efficiency, even the inefficient as fuck tungsten light bulbs weren't that awful!!! Imagine what could be done with all the hardware we have available nowadays, if every piece of software would be around 80% efficient as is a common norm in electronics. Just looking at Linux which is still in many ways convoluted, modern desktops with a couple hundred MB of RAM usage? You've got it! So why can't OS's like Windows (although I have to say, huge improvements have been made there over the last few years) and browsers like Firefox and Chrome be more like that? I really don't understand.
There's several more wishes I have of course, but those are the most important ones.. hopefully I'll be able to see at least one of them come true during my life.10 -
it's funny, how doing something for ages but technically kinda the wrong way, makes you hate that thing with a fucking passion.
In my case I am talking about documentation.
At my study, it was required to write documentation for every project, which is actually quite logical. But, although I am find with some documentation/project and architecture design, they went to the fucking limit with this shit.
Just an example of what we had to write every time again (YES FOR EVERY MOTHERFUCKING PROJECT) and how many pages it would approximately cost (of custom content, yes we all had templates):
Phase 1 - Application design (before doing any programming at all):
- PvA (general plan for how to do the project, from who was participating to the way of reporting to your clients and so on - pages: 7-10.
- Functional design, well, the application design in an understandeable way. We were also required to design interfaces. (Yes, I am a backender, can only grasp the basics of GIMP and don't care about doing frontend) - pages: 20-30.
- Technical design (including DB scheme, class diagrams and so fucking on), it explains it mostly I think so - pages: 20-40.
Phase 2 - 'Writing' the application
- Well, writing the application of course.
- Test Plan (so yeah no actual fucking cases yet, just how you fucking plan to test it, what tools you need and so on. Needed? Yes. but not as redicilous as this) - pages: 7-10.
- Test cases: as many functions (read, every button click etc is a 'function') as you have - pages: one excel sheet, usually at least about 20 test cases.
Phase 3 - Application Implementation
- Implementation plan, describes what resources will be needed and so on (yes, I actually had to write down 'keyboard' a few times, like what the actual motherfucking fuck) - pages: 7-10.
- Acceptation test plan, (the plan and the actual tests so two files of which one is an excel/libreoffice calc file) - pages: 7-10.
- Implementation evalutation, well, an evaluation. Usually about 7-10 FUCKING pages long as well (!?!?!?!)
Phase 4 - Maintaining/managing of the application
- Management/maintainence document - well, every FUCKING rule. Usually 10-20 pages.
- SLA (Service Level Agreement) - 20-30 pages.
- Content Management Plan - explains itself, same as above so 20-30 pages (yes, what the fuck).
- Archiving Document, aka, how are you going to archive shit. - pages: 10-15.
I am still can't grasp why they were surprised that students lost all motivation after realizing they'd have to spend about 1-2 weeks BEFORE being allowed to write a single line of code!
Calculation (which takes the worst case scenario aka the most pages possible mostly) comes to about 230 pages. Keep in mind that some pages will be screenshots etc as well but a lot are full-text.
Yes, I understand that documentation is needed but in the way we had to do it, sorry but that's just not how you motivate students to work for their study!
Hell, students who wrote the entire project in one night which worked perfectly with even easter eggs and so on sometimes even got bad grades BECAUSE THEIR DOCUMENTATION WASN'T GOOD ENOUGH.
For comparison, at my last internship I had to write documentation for the REST API I was writing. Three pages, providing enough for the person who had to, to work with it! YES THREE PAGES FOR THE WHOLE MOTHERFUCKING PROJECT.
This is why I FUCKING HATE the word 'documentation'.36 -
Woohoo! 32k achieved!!! Finally I can post some new rant without risking some sudden overshoot 😁
So putting celebrations aside for a minute, a while ago I've noticed a tingle when I stroke my finger across metal areas of my tablet, or the sides of my phone (which probably has metal near it too) while it's charging. And it's been bugging me ever since.
Now, some things to note are that it only happens when my feet are touching the ground though slippers, and that the frequency is so low that I can actually feel the tingle when I slide my finger across the material. This to me at least seems like electricity flows through me into ground, and touching the ground directly provides a path so easy for the electrons to run away that I don't feel it at all. But if I lift my feet off the ground entirely, I just get charged up and after that, nothing else happens.
So those are my ideas. The answers on the subject on the other hand.. absolute cancer. Unsurprisingly, most of them came from Apple users. Here's some of them.
https://discussions.apple.com/threa...
- I've not noticed it, but if you're concerned bring the phone to Apple for evaluation.
- Me too facing same problem.. did u visit apple care?
And one good answer at least...
- google emf sensitivity, its real. You are right, there is a small current flowing through your body, try to limit your usage. The problem with this issue is those who aren't affected (lucky ones for now) will tell you these products are 100% safe. To a degree they are, i used my ipod touch for about 2 years straight vwith virtually no symptoms. then the tingling started and it gets worse.You will get more sensitive to progressively less powerful things. I dont want to scare you but just limit your usage like i didnt do 🙂
Overall that discussion was pretty good actually, aside from "bring it to the Genius Bar, they'll know for sure and not just sell you another unit". But then there's Reddit.
https://reddit.com/r/iphone/...
- Ok, real reason is probably that the extension cord and/or outlet is probably not grounded correctly. Either that or you are using a cheap knockoff charger.
Either use a surge protector and/or use the authentic Apple Charger.
- It's not the volts that hurt you, it's the amps
- I think you are in deep love with your phone. That tingling sensation is usually referred to as "love" in human language.
- Do less acid, I would advise.
Okay, so that's the real cancer. Grounding issue sounds reasonable despite it being wrong. Grounding is actually not needed when your charging appliance doesn't have any exposed metal parts. And isolation from high voltage to low voltage side actually happens through things like routering holes into the PCB, creating spark gaps, and using galvanic isolation through things like optocouplers. As for a surge protector? I'm using them to protect my PC and my servers, but the only purpose they serve is to protect from.. you guessed it.. voltage surges, like lightning bolts hitting the grid. They don't do shit for grounding or reducing this tingle! What a fucking tool.
It's not the volts that kill, it's the amps.. yeah I'm sure that the debunking of that is easy to find. Not gonna explain that here. And the rest of it.. yeah it's just fucking cancer.
Now what's the real issue with this tingle? It's actually a Class-Y rated (i.e. kV rated) capacitor that's on the transformer of any switch-mode power supply, including phone chargers. If memory serves me right, it helps with decoupling the switching noise and so on. But as it's connected to the primary side of the transformer, if the cap is sufficiently large and you are sufficiently sensitive, it can actually cause that tingle by passing a fraction of the mains electricity into your body. It's totally safe though, as the power that these caps pass is very small. But to some, it's noticeable.
Hope you found this interesting! And thanks a lot for bringing me to 2^15. I really appreciate it ♥️14 -
Part 1: https://devrant.com/rants/4210605
So let's talk about these tasks we were assigned. Ms Reliable and Mr DDTW's friend who I just realized I haven't named yet were in charge of programming communications. Ms Enabler and Mr DDTW were in charge of creating the vehicle subclasses for the new variants we were instructed to build. Each one had to handle one variant, and we estimated that both of these would be about the same difficulty (Ms Enabler's one turned out to be a little harder).
I like Ms Enabler, and she's a good friend, although she isn't the best at problem solving and her strengths as a dev lie in her work ethic and the sheer amount of theory she knows and can apply. These just so happened to be the exact opposites of my strengths and weaknesses. Within a few days of having assigned the tasks, she came up to me asking for help, and I agreed. Over the following couple of weeks I'd put in quite a lot of hours reviewing the design with her, and we'd often end up pair programming. It was more work for me, but it was enjoyable and overall we were very efficient.
The other two girls in the group were also absolutely fine this sprint. They simply did the work they had to and let us know on time. Outside of some feedback, requests, bugfixes, and mediating disagreements, I didn't have to do anything with their tasks.
A week and half into the sprint and everybody else has their part almost in an MVP state. As Mr DDTW hadn't said or shown anything yet, I asked if he could push his stuff to the repo (he got stuck with this and needed help btw), and what does he have?
A piece of shit "go to this location" algorithm that did not work and was, once again, 150 lines of if statements. This would not have been such a massive deal if THE ENTIRE PREVIOUS SPRINT HAD BEEN DEDICATED TO MAKING THE CODE DO THIS IN A SENSIBLE WAY. Every single thing that this guy had written was already done. EVERY SINGLE THING. A single function call with the coordinates would let the vehicle do what he wrote but in a way THAT ACTUALLY WORKED AND MADE THE TINIEST BIT OF FUCKING SENSE. He had literally given so few shits about this entire goddamn project that he had absolutely zero clue about what we'd even done last sprint.
After letting this man civilly know through our group chat about his failures, giving him pointers on what's wrong and what he can use and telling him that he should fix it by the end of the week, his response?
"I'll try"
That was it. Fuckass was starting to block us now, and this was the first sign of activity he's given since the sprint started. Ms Enabler had finished her work a fucking week ago, and she actually ASKED when she ran into trouble or thought that something could be improved. Mr DDTW? He never asked for shit, any clarification, any help, and I had let everybody know that I'm open. At least the other two who didn't ask for shit ACTUALLY DID SOMETHING. He'd been an useless sack of shit for half a semester in three separate projects and the one time he's been assigned something half important that would impact our grades he does this. I would not stand for it.
I let him know all this, still civil (so no insults) but much less kind, capped with "Stop fooling around. Finish this by the of the week." which probably came off as a threat but his shithead kinda had it coming.
He was actually mad. Dropped a huge faux-apologetic spiel in the chat. Why couldn't I just trust him (his code was garbage and he was constantly late without explanation), his work was almost done (it wasn't and if he'd started he'd understand the scope of what he was assigned), that the problem was that I'm a condescending piece of shit (bruh), and was suddenly very interested in doing work. Literally everybody ignored him. What was funny was seeing the first questions and requests for help after that spiel. I obliged and actually answered what he asked.
The end of the week came and went he'd just uploaded more garbage that didn't work. I had foreseen this and, on top of everything else, had been preparing his section of the work done by myself and properly. Thus came a single commit from me with a working version of the entire module, unblocking the entire team. I cannot imagine the sheer hatred for this man at that moment for the commit message to simply be:
"judgement"
And with that, all I got was a threat to report me to the professor for sabotaging his work. The following day our group got an email from the professor, with no explanation, asking for an almost-immediate video conference. Group chat was a shitshow of panic, as nobody knew what was going on. Least of all Mr DDTW.
Once again, I'm approaching the word limit so to be continued in part 3 (hopefully of 3)7 -
I could bitch about XSLT again, as that was certainly painful, but that’s less about learning a skill and more about understanding someone else’s mental diarrhea, so let me pick something else.
My most painful learning experience was probably pointers, but not pointers in the usual sense of `char *ptr` in C and how they’re totally confusing at first. I mean, it was that too, but in addition it was how I had absolutely none of the background needed to understand them, not having any learning material (nor guidance), nor even a typical compiler to tell me what i was doing wrong — and on top of all of that, only being able to run code on a device that would crash/halt/freak out whenever i made a mistake. It was an absolute nightmare.
Here’s the story:
Someone gave me the game RACE for my TI-83 calculator, but it turned out to be an unlocked version, which means I could edit it and see the code. I discovered this later on by accident while trying to play it during class, and when I looked at it, all I saw was incomprehensible garbage. I closed it, and the game no longer worked. Looking back I must have changed something, but then I thought it was just magic. It took me a long time to get curious enough to look at it again.
But in the meantime, I ended up played with these “programs” a little, and made some really simple ones, and later some somewhat complex ones. So the next time I opened RACE again I kind of understood what it was doing.
Moving on, I spent a year learning TI-Basic, and eventually reached the limit of what it could do. Along the way, I learned that all of the really amazing games/utilities that were incredibly fast, had greyscale graphics, lowercase text, no runtime indicator, etc. were written in “Assembly,” so naturally I wanted to use that, too.
I had no idea what it was, but it was the obvious next step for me, so I started teaching myself. It was z80 Assembly, and there was practically no documents, resources, nothing helpful online.
I found the specs, and a few terrible docs and other sources, but with only one year of programming experience, I didn’t really understand what they were telling me. This was before stackoverflow, etc., too, so what little help I found was mostly from forum posts, IRC (mostly got ignored or made fun of), and reading other people’s source when I could find it. And usually that was less than clear.
And here’s where we dive into the specifics. Starting with so little experience, and in TI-Basic of all things, meant I had zero understanding of pointers, memory and addresses, the stack, heap, data structures, interrupts, clocks, etc. I had mastered everything TI-Basic offered, which astoundingly included arrays and matrices (six of each), but it hid everything else except basic logic and flow control. (No, there weren’t even functions; it has labels and goto.) It has 27 numeric variables (A-Z and theta, can store either float or complex numbers), 8 Lists (numeric arrays), 6 matricies (2d numeric arrays), 10 strings, and a few other things like “equations” and literal bitmap pictures.
Soo… I went from knowing only that to learning pointers. And pointer math. And data structures. And pointers to pointers, and the stack, and function calls, and all that goodness. And remember, I was learning and writing all of this in plain Assembly, in notepad (or on paper at school), not in C or C++ with a teacher, a textbook, SO, and an intelligent compiler with its incredibly helpful type checking and warnings. Just raw trial and error. I learned what I could from whatever cryptic sources I could find (and understand) online, and applied it.
But actually using what I learned? If a pointer was wrong, it resulted in unexpected behavior, memory corruption, freezes, etc. I didn’t have a debugger, an emulator, etc. I had notepad, the barebones compiler, and my calculator.
Also, iterating meant changing my code, recompiling, factory resetting my calculator (removing the battery for 30+ sec) because bugs usually froze it or corrupted something, then transferring the new program over, and finally running it. It was soo slowwwww. But I made steady progress.
Painful learning experience? Check.
Pointer hell? Absolutely.4 -
Fucking piece of shit German internet man. Some of you might know that Germany probably has the shittiest internet in the EU. And by shitty, I don't mean the downstream speeds you can get (which is how most ISPs justify their crappy network), but the GODDAMN UPSTREAM SPEEDS.
See, I'm just a student, right? I don't run a fucking company or something like that. I don't need / can't afford a symmetrical gigabit connection. But I do a lot of stuff that requires a decent upstream connection.
Fucking Unitymedia (my ISP), if I already decide to buy the goddamn "business plan" (IPv6 & static adresses), at least supply me with some decent upstream speeds. PLEASE!
My current plan costs ~45€ a month for internet and TV (I don't watch, but my two other flat-mates do).
Internet speeds are 150 Mbit/s down and FUCKING 10 Mbit/s up! What??! What the hell am I supposed to do with only 10 Mbit/s?? I'm already completely exhausting the bandwidth and I'm not even done setting everything up! Fucking hell...
I was planning on getting their "upload package" to get at least 20 Mbit/s up – but they removed that option! IT'S GONE, PEOPLE! They said in an interview last year that "customers are not interested in higher upload speeds" and consequently removed that option. WHAT???
"You wanna have state-of-the-art downstream speeds of 400 Mbit/s? Here you go. Oh, our maximum limit of 10 Mbit/s upstream is not enough for you? TOO FUCKING BAD, NOTHING THAT WE CAN OFFER YOU!"
(Seriously though, the best customer internet plan is 400D & 10U)
Goddamn... in this day and age of things like cloud storage etc. even "normal" people definitely need higher upload speeds.
Man, this rant got so long, but I really wanted to get this out. This wasn't even everything though, maybe I'll make a separate rant to elaborate on other issues.
If you are interested, you might want to read up on the following report:
https://speedtest.net/reports/...33 -
VB3.
In my last rant I mentioned I used to convert VB3 code to .Net. Before that, I used to work on the VB3 product itself. This software emulated something from the real world, and as such complied with a bunch of regulations that changed on a regular basis, and always had additions and removals that were to be done on a strict schedule (e.g. "we're adding a new product next month, so we have to be able to sell it by the first of the month"). As such, it was a huge sprawling mess.
One day, I was given a task to change some feature slightly. The task was simple enough and really only required adding one line of code. I added that line and clicked "Run".
Error: Too Much Code
What? What do you mean too much code? I asked a colleague for help. "Oh, don't worry, it happens when a function is too long. Just remove one or two of the comments and try again." The comments were, naturally, old deleted code that was quite meaningless so I had no qualms about removing some. It worked, and I went on with my life.
This started happening on a regular basis on our larger functions. But there were always comments to remove so it wasn't a big issue.
One day, though, it happened on a five-line function. This was puzzling - the error had always happened when a function was too big but this one clearly wasn't. What could the error mean? I went to the same colleague.
Apparently, there's also a limit to how big the entire code base can be. "Just find a function that isn't used any more and delete it." And so I did. There were many such functions, responsible for calculating things which no longer existed so they were never called. For months, I'd find functions and remove them. Until there weren't any more. I checked every function and subroutine in our codebase, and they were all used; I checked every possible code path and they were all needed.
What do I do now, I asked? The colleague, who was an expert on VB3 but worked on another project, came and take a look.
"Look at all these small functions you made! No wonder you're running out of space!" Apparently each function created a lot of overhead in the compiled executable. The solution was clear. Combine small functions into large monolithic ones, possibly passing flags in them to do completely unrelated things. Oh, and don't comment on the different parts because we have no room for comments in our code base.
Ah, the good old days.5 -
Our project schedule is quite full at the moment, we are basically at the limit for the next three months.
In comes one of our sales people: "Hey, can we squeeze in a little project, nothing fancy just a very basic static web page." (No question mark there, it was not a question...)
I say no, we are full, the deadline is to tight (3 weeks), can't do it.
In comes boss: "Sure you can, just push everything else back." (We won't change deadlines, what he actually means is for us to do unpaid overtime for two months so he can barocke make a few thousand extra bucks...)
So I cave and allow it. It were just 4 hours of work, we can squeeze it in, maybe do a little less R&D this month.
Next day, the project scope changed, suddenly we are not taking about 4 hours but 80. Sure, we can squeeze two extra weeks into the month.
That is when I realized, I don't hate my work, just my work environment.4 -
And once again, Spotify just leaves me speechless.
I guess I don't actually need to talk about this clusterfuck of a mobile app getting more and more slow and unstable with every update. So let's talk about something else.
When I cracked the first limit, I thought it had to be a joke. 9.999 songs can be downloaded at once. But not all on one device. You can download 3.333 songs each to three separate devices - regardless of the fact that there is more than enough space left on the device and you are not even using any other device.
When I read this one [-> https://goo.gl/43YwKm ], I really got angry:
"If you move, or enter the wrong details, you need to create a new account (make sure you cancel the plan on your old account beforehand, and sign out everywhere) and subscribe to Premium for Family on that new account."
I don't even know how to respond to this except with insane wrath.
So now I cracked the next one. My library is full. The maximum number of songs that can be stored in the library is 10.000 and not one more.
If they wanted more money for the additional ressources, I'd even understand that. Yes, the suggestion calculations become more expensive, I do know that. And I would even pay for that. But there is no such option.
Instead, the company is making the most customer hostile decisions I could imagine.
Even though the competition proves that a multiple of such a limit is not a problem at all (Google Music: 50.000 songs / Apple Music: 100.000 songs).
And you have to create a new account when you move? That's hard to beat for impudence, especially wigh regard of the fact that no migration service is provided, so a person like me would spend a long time transferring all the stored music and playlists.
I'm not even sure it's complying with European law not to be able to see your address online, let alone change it.
And all of that because they know they can afford it anyway, since although the competition is a lot better on that score, they simply can't keep up in the matter of spectrum and algorithms.
And if I can only take 70% of my music with me when I change the service, I can just as well delete 3.000 songs from my library and stay with Spotify.
What a fucking wreck. I really don't get it.8 -
Since this post was too long for devrant's 5k sign limit, I split it in several parts. I will try to make each part comprehensible as a standalone post. This is part one of WHY WOULD I WANT TO WORK WITH YOU? saga. A tale of empathy, competence and me being a dick, even though I didn't really want to be one. The part one is titled: "Bad times, good times". It may or may not have any value. It probably won't be funny.
I dedicate this to every single junior or entry level dev out there, struggling to find a job in their field.
=====
What do you think, how long does it take for junior with 6 months of commercial experience to find a dev job? If your answer was "idk", you're right. If your answer was "3 montths maybe", you're also right. At least this is how long it took for me. I am writing this at 2am, couple of hours after I managed to get employed. I am happy. My employer probably is happy too. My recruiters certainly are. The guy whose offer I had to reject after we were almost ready to sign the contract, on the other hand, isn't. He probably hates me. We'll get to that one post at a time.
Let's move back in time a little bit. It's December 12th, 2019. It is third month after I left my family home. I don't ha0ve a job, I was living first in my older brother's apartment for a month, then I started to rent my own. I have literally no money, I'm in debts. I moved out because reasons that would make up for another couple of posts, and for said reasons I refused to get 'any job just to pay the bills'. You can imagine that I was in pretty bad situation, and my psyche didn't really take that shit too well either. My daily meal was a bowl of rice with a little bit of self-hatred on top. Gourmet.
At that time, my daily routine would consist of practicing music, practicing programming, trying to get a job and surviving. Some of my friends just turned their backs against me. I did a small rework of my contact list as well. It was a *hard* time. I had sent my CV to around a hundred different companies with very little to no response. Some of them required at least bachelor's in IT for their frontend dev. Some of them required experience I didn't have. Some of them just didn't care to answer me. And then that one day happened. Three different people wanted to meet me and talk about internships/job offers. I will share what happened next in next posts, but here's a quick spoiler. I got a job. Yes, I am hyped.
Dear fellow Dev. This is a small reminder. If you're having bad times, just remember that if you focus on what you need to do, you will be just fine. Sometimes it may take days of struggling, sometimes it will take months of eating mostly rice. We all... Most of us have been through this.
Next posts will be less inspirationalstufftelling and more storytelling. Let this post be a setup, a small context to keep in mind upon reading my next stories. Because it is quite important. For me and for the story.3 -
Client: here's what we want, a website where someone can directly edit any file on the website, php that java thingy all of it. Hell allow them to access, the os so they can see how that works to.
Me: ... Hey great idea ... We could set the server up in your offices ! I could link the server to all your computer's they can modify anything you have on there as well. That won't cause any issues.... At all.
Client: urm why?
Me: *hangs up* sigh ....
It's a fake scenario.... But how I feel like when I speak to clients 😐 based off what some guy wanted to do, a whole training thing for devs to learn how servers work ... The idea is ok to train... Say an apprentice, but he wanted to attach this to the Internet.... Not limit its use... Obviously way to expensive. -
What would you change if you were the owner of a site like devrant?
I've been in devrant for weeks now and the thing I like the most of it is the community (at least most of it).
If you are going through a bad time, they wish you well.
People here also seem to have very decent work experience.
In general, they seem to be open towards other technologies and honest about their shortcomings.
I also like that the site (for better or worse) is not insanely moderated.
For example, in reddit, it's very easy to get a post removed because it doesn't abide to the rules. They can be rudiculous strict, and mods can be trigger happy.
I'm not denying the existence of any moderation here, but for example I've seen some pretty graphic sexual comments, and I appreciate that anything goes (except being a dick ofc).
And I guess that the fact that the community is so chill has to do with that, there's not a huge need for moderation (unless I'm totally oblivious).
But how do you keep a community like that?
I've seen people complaining about the influx of new users and the spam of shitty memes.
How do you keep devrant cool while letting new people join?
I think a necessary thing is that you separate the people into 'universes' and each universe has a limit of x users. And somehow the users are distributed in a way that the average level of 'user likes the universe they're in' is maximum.
Now, how do you create that? Not sure, maybe you let users vote whether they like the other users or not (such votes being hidden to others ofc) and let users switch unis if they don't like them.
What ideas do you have?8 -
!rant
tl;dr at the bottom
This might not be a popular opinion, so please, if you throw things at me, limit yourselves only to tomatoes and other soft projectiles. Thank you!
So this being said, i must say ut: i actually like how facebook use this data overall. While i am completly against privacy violation, that data is given up by ourselves with a choice to do it, so we can't hand them for it. However, i think the fact that we got ads for what our interests are is quite awesome! For example because of this i found webcomics and artists i curently hold really high in my praises and this might not have been the case if FB had another business model.
This being said, i just think people should focus on problems more important than how social media manages to earn some bucks, and while is our choise to be part of that we can't simply call ourselves "products". History holds many stories about civilization that gaved no choice if you wanted or not to be a product so we could be at least glad it is not the case anymore.
Anyway, if you read all the way down here, tnaks for your time!
TL;DR: Facebook is no holy church but it actually not so bad, we can find things we get to love or actually needed in the first place in their targeted adds system. At least we have a choice to be part of this or not!11 -
Not as much of a rant as a share of my exasperation you might breathe a bit more heavily out your nose at.
My work has dealt out new laptops to devs. Such shiny, very wow. They're also famously easy to use.
.
.
.
My arse.
.
.
.
I got the laptop, transferred the necessary files and settings over, then got to work. Delivered ticket i, delivered ticket j, delivered the tests (tests first *cough*) then delivered Mr Bullet to Mr Foot.
Day 4 of using the temporary passwords support gave me I thought it was time to get with department policy and change my myriad passwords to a single one. Maybe it's not as secure but oh hell, would having a single sign-on have saved me from this.
I went for my new machine's password first because why not? It's the one I'll use the most, and I definitely won't forget it. I didn't. (I didn't.) I plopped in my memorable password, including special characters, caps, and numbers, again (carefully typed) in the second password field, then nearly confirmed. Curiosity, you bastard.
There's a key icon by the password field and I still had milk teeth left to chew any and all new features with.
Naturally I click on it. I'm greeted by a window showing me a password generating tool. So many features, options for choosing length, character types, and tons of others but thinking back on it, I only remember those two. I had a cheeky peek at the different passwords generated by it, including playing with the length slider. My curiosity sated, I closed that window and confirmed that my password was in.
You probably know where this is going. I say probably to give room for those of you like me who certifiably. did. not.
Time to test my new password.
*Smacks the power button to log off*
Time to put it in (ooer)
*Smacks in the password*
I N C O R R E C T L O G I N D E T A I L S.
Whoops, typo probably.
Do it again.
I N C O R R E C T L O G I N D E T A I L S.
No u.
Try again.
I N C O R R E C T L O G I N D E T A I L S.
Try my previous password.
Well, SUCCESS... but actually, no.
Tried the previous previous password.
T O O M A N Y A T T E M P T S
Ahh fuck, I can't believe I've done this, but going to support is for pussies. I'll put this by the rest of the fire, I can work on my old laptop.
Day starts getting late, gotta go swimming soonish. Should probably solve the problem. Cue a whole 40 minutes trying my 15 or so different passwords and their permutations because oh heck I hope it's one of them.
I talk to a colleague because by now the "days since last incident" counter has been reset.
"Hello there Ryan, would you kindly go on a voyage with me that I may retrace my steps and perhaps discover the source of this mystery?"
"A man chooses, a slave obeys. I choose... lmao ye sure m8, but I'm driving"
We went straight for the password generator, then the length slider, because who doesn't love sliding a slidey boi. Soon as we moved it my upside down frown turned back around. Down in the 'new password' and the 'confirm new password' IT WAS FUCKING AUTOCOMPLETING. The slidey boi was changing the number of asterisks in both bars as we moved it. Mystery solved, password generator arrested, shit's still fucked.
Bite the bullet, call support.
"Hi, I need my password resetting. I dun goofed"
*details tech support needs*
*It can be sorted but the tech is ages away*
Gotta be punctual for swimming, got two whole lengths to do and a sauna to sit in.
"I'm off soon, can it happen tomorrow?"
"Yeah no problem someone will be down in the morning."
Next day. Friday. 3 hours later, still no contact. Go to support room myself.
The guy really tries, goes through everything he can, gets informed that he needs a code from Derek. Where's Derek? Ah shet. He's on holiday.
There goes my weekend (looong weekend, bank holiday plus day flexi-time) where I could have shown off to my girlfriend the quality at which this laptop can play all our favourite animé, and probably get remind by her that my personal laptop has an i2350u with integrated graphics.
TODAY. (Part is unrelated, but still, ugh.)
Go to work. Ten minutes away realise I forgot my door pass.
Bollocks.
Go get a temporary pass (of shame).
Go to clock in. My fob was with my REAL pass.
What the wank.
Get to my desk, nobody notices my shame. I'm thirsty. I'll have the bottle from my drawer. But wait, what's this? No key that usually lives with my pass? Can't even unlock it?
No thanks.
Support might be able to cheer me up. Support is now for manly men too.
*Knock knock*
"Me again"
"Yeah give it here, I've got the code"
He fixes it, I reset my pass, sensibly change my other passwords.
Or I would, if the internet would work.
It connects, but no traffic? Ryan from earlier helps, we solve it after a while.
My passwords are now sorted, machine is okay, crisis resolved.
*THE END*
If you skipped the whole thing and were expecting a tl;dr, you just lost the game.
Otherwise, I absolve you of having lost the game.
Exactly at the char limit9 -
Regarding Article 13 (or 17 or wherever it moved to now)… Let's say that the UK politicians decide to be dicks and approve the law. After that, we need to get it engineered in, right? Let's talk a bit about how.. well, I'd maybe go over it. Been thinking about it a bit in the shower earlier, so.. yeah.
So, fancy image recognition or text recognition from articles scattered all over the internet, I think we can all agree.. that's infeasible. Even more so, during this lobby with GitHub and OpenForum Europe, guy from GitHub actually made a very valid point. Now for starters, copyright infringement isn't an issue on the platform GitHub that pretty much breathes collaboration. But in the case of I-Boot for example, that thing from Apple that got leaked earlier. If that would get preemptively blocked.. well there's no public source code for it to get compared against to begin with, right? So it's not just "scattered all over the internet, good luck crawling it", it's nowhere to be found *at all*.
So content filtering.. yeah. Nope, ain't gonna happen. Keep trying with that, EU politicians.
But let's say that I am a content creator who hates the cancer of joke/meme because more often than not it manifests itself as a clone of r/programmerhumor.. someone decides to freeboot my content. So I go out, look for it, find it. Facebook and the likes, make it easier to find it in the first place, you dicks. It's extremely hard to find your content there.
So Facebook implements a way to find that content a bit easier maybe. Me being the content creator finds it.. oh blimey! It can't be.. it's the king of freebooting on Facebook, SoFlo! Who would've thought?! So at that point.. I'd like to get it removed of course. Report it as copyright infringement? Of course. Again Facebook you dicks, don't make it so tedious to fill in that bloody report. And look into it quickly! The videos those SoFlo dicks post is only relevant in the first 48h or so. That's where they make the most money. So act more quickly.
So the report is filled, video's taken down.. what else? Maybe temporarily make them unable to post as a bit of a punishment so that they won't do it again? And put in a limit to the amount of reports they can receive. Finally, maybe reroute the revenue stream to the original content creator instead. That way stolen content suddenly becomes free exposure! Awesome!
*suddenly realizes that I've been talking about the YouTube copyright strike system all along*
… Well.. maybe something like that then? That shouldn't be too hard to implement, and on YouTube at least it seems to be quite effective. Just imagine SoFlo and the likes that are repeat offenders, every 3 posts they get their account and page shut down. Good luck growing an audience that way. And good luck making new accounts all the time to start with.. account verification technology is pretty good these days. Speaking of experience here, tried bypassing Facebook's signup hoops a fair bit and learned a bit about some of the things they have red flags on, hehe.
But yeah, something like that maybe for social media in general. And.. let's face it, the biggest one that would get hurt by something like this would be Facebook. And personally I think it's about time for that bastard company to get a couple of blows already.
What are your thoughts on this?5 -
Sorry I haven't been as active lately, however this is one of the better prompts, so I feel I should have it in my track record. Beware, it's a long one...
Let's trace the roots: My uncle was building desktops and he told my dad he'd build him one if my dad paid him for the components. These days I know builds aren't rocket science, but back then my parents didn't do their research. So my dad paid him.
Give or take some time, and most of the parts are complete. He underestimated the prices of a few things and had to ask for $200 more to complete the build. This...caused my dad to explode.
Later, I heard my dad ranting to my stepmom in January 2017 about how the last convo he had with his brother was a "Fuck-you conversation" - it was the last because my uncle had died in 2003.
Flash forward to March 2017. My mom and I are sitting in a Fazoli's, a nice sunset out of the full-length windows. I had to probe. HAD TO.
"You promise you won't tell your dad I told you this?" she asked.
"You know Kellie and I can't stand to be around him." I replied.
As the story goes, that last "Fuck-you conversation"? Over a fucking measly $200. Yup, the last conversation between my dad and his brother to ever happen was a shouting match over a relatively short amount of money. I wish I could say my dad had remorse, but he doesn't. He still talks shit. He's also technologically illiterate, so I doubt there was a way his brother was going to be able to reason with him.
In late 2003, my uncle, who had been a smoker, passed away due to cardiac arrest. The build was still not finished. This was one of the OTHER things that I have mixed feelings about.
After my uncle passed, my aunt paid someone to finish the build and get it shipped to my dad. We'll get back to why I feel this is fucked up, stay tuned...
---------
It's Spring 2004. I'm in the last half of what I think is Kindergarten or some shit...too lazy to do the math. Anyway, my dad announces we have a family computer - however, I couldn't read yet. That didn't stop the waste of oxygen that is my father from going in the Windows XP screensavers and putting text in that said "GAGE MORGAN WILL NOT TOUCH THIS COMPUTER." He's such a fuckin' dick, now AND back then.
My mom had an issue with this. I don't know why, but she did. Later, I was slowly taught how to use the mouse, under heavy supervision. Then I went to my grandma's house. She taught me one very specific thing on her old Win98 (386, maybe? IDK my old hw shit man), and because I know you guys are gonna love this one:
"The blue "e" opens up your games!"
The blue "e" does not open up your games, it opens something that can lead to your games.
I went home and tried this...without permission. My dad came down and discovered my lollygagging on the homepage - this is fucking weird. It was before Nextel, IIRC, so Sprint's logo was red still. Yes, we had broadband from Sprint. I don't know what saga led to that going the way of the dodo, but...
Back on track, I literally got my pants pulled down and had my bare bottom beat. He was gonna drag my ass upstairs and lock me in my room, but before he could, he accidentally slammed MY FUCKING RIGHT TEMPLE into the corner of a hardwood table at the bottom of the staircase.
The wailing that resulted probably was different than the previous form, which is probably what got my mom involved. My dad had a way of going too far, and in retrospect I'm more terrified now of what could've happened than I was then.
Later, I was given access to games in the form of my own account and bookmarks bar. That wasn't the end of the madness/drama from my use of that machine, but it was the earliest form.
Ever since Kindergarten, that one fateful day, I've been defying any/all imposed limitations on tech set on me by my parents...well, not anymore, but literally grades K-12. I'm living on my own, aka "adulting" now. It sucks more than you think, man.
---------
Let's tie this up before I reach the limit. I said I thought it was fucked up when my aunt paid to have the build finished and shipped to us after my uncle's death.
Yes, my aunt's intervention led to me ultimately majoring in computer science.
That doesn't change the fact that she shouldn't have done it.
My dad was an asshole to her husband, who passed. She is ultimately too caring. I don't think my jackass father should've been able to get by with that, he didn't deserve the freebie. Someone else should've told him his brother did in fact need that $200.
I haven't seen her IRL since the funeral when my grandpa passed in 2005. 2006 spelled the end of my parents' marriage.
Hope you guys enjoyed this - it's only a small segment of how I got to where I am now - tiny, actually.2 -
Can someone help me understand?
I subscribed to a nifty IT-releated magazine, and on its back, there's an ad for "Dedicated root server hosting", nothing unusual at a first glance, but after I read the issue, I decided to humor them and see what it is that they offered, and... It just... Doesn't make sense to me!
An ad for "Dedicated Root Server" - What is a dedicated root server first of all? Root servers of any infrastructure sound pretty important.
But, the ad also boasts "High speed performance with the new Intel Core i9-9900K octa-core processor", that's the first weird thing.
Why would anyone responsible enough want to put an i9 into a highly-reliable root server, when the thing doesn't even support ECC? Also, come on, octa-core isn't much, I deal with servers that have anywhere between 2 and 24 cores. 8 isn't exactly a win, even if it has a higher per-core clock.
Oh, also, further down the ad has a list of, seeming, advantages/specs of the servers, they proclaim that the CPU "incl. Hyper-Threading-Technology"... Isn't that... Standard when it comes to servers? I have never seen a server without hyperthreading so far at my job.
"64 GBs of DDR4 RAM" - Fair enough, 64 gigs is a good amount, but... Again, its not ECC, something I would never put into a server.
"2 x 8 TB SATA Enterprise Hard Drive 7200 rpm" - Heh, "enterprise hard drive", another cheap marketing word, would impress me more if they mentioned an actual brand/model, but I'll bite, and say that at least the 7200 rpm is better than I expected.
"100 GBs of Backup Space" - That's... Really, really little. I've dealt with clients who's single database backup is larger than that. Especially with 2x8 TB HDD (Even accounting for software raids on top)
This one cracks me up - "Traffic unlimited"
Whaaaat?! You are not gonna give me a limit to the total transferred traffic to the internet for my server in your data center? Oh, how generous of you, only, the other case would make the server just an expensive paperweight! I thought this ad was for semi-professionals at least, so why mention traffic, and not bandwidth, the thing that matters much more when it comes to servers? How big of a bandwidth do I get? Don't tell me you use dialup for your "Dedicated Root Server"s!
"Location Germany or Finland" - Fair enough, geolocation can matter when it comes to latency.
"No minimum contract" - Oooh, how kiiiind of you, again, you are not gonna charge me extra for using the server only as long as I pay? How nice!
"Setup Fee £60" - I guess, fair enough, the server is not gonna set itself up, only...
The whole ad is for "monthly from £55.50", that's quite the large fee for setup.
Oh, and a cherry on top, the tiny print on the bottom mentions: "All prices exclude VAT and are a subject to..." blah blah blah.
Really? I thought that this sort of almost customer deceipt is present only in the common people's sphere!
I must say, there's being unimpressed, and then... There's this. Why, just... Why? Anyone understands this? Because I don't...12 -
I bring you all another gem from my computer science course, this time from my OOP class.
The first assignment we made for this class was a simple CLI shop, where you would have basically three main classes:
- A Product class that you extend to create different types of products.
- A Cart class that manages a list of products (basically an ArrayList<Product>) and has some useful methods
- A CLI class to display a simple interface to the user and call methods on a Cart.
Basic OOP stuff, so far so good.
Then for our second assignment the teacher asked us to make Cart a generic class, where you would say Cart<Bagel> and you would only be able to put bagels in it. This makes absolutely no fucking sense, this is not a good use case for generic types since
1) you would never limit your customer's cart to one type of product at compile time.
2) in Cart, you have to cast the generic type to Product to extract any information from the product, like when getting product prices to calculate the total price, so might as well use a fucking ArrayList<Product>
I'm just saying what he's asking us to do has (to our fictional shop's business logic) absolutely no advantage over subtyping.
Also, why the fuck teach generic constraints when you can just tell your students "just cast T to Product", right?
Like fucking hell, couldn't you spend like 10min to come up with a decent assignment that actually teaches generic types the right way? ffs
And just so no one can say "but wut simple assignment would you give to teach students generic types?", here's a simple and much, much better alternative: implementing your own ArrayList. Done. Can't get much better than that, it's a legit use case and teaches you the basics.
Sorry man, you're a great person, you really are, but you suck as a teacher.3 -
We run 20.04 Ubuntu at work with fucking Gnome. I thought to myself "by now I should be able to easily make a desktop/launcher icon". Nope, fucking dark ages. What a pos window manager.
At work we have 2 networks. One is guest and one is for our work computers. I was trying to put a computer on the guest network to limit access to a vendor. I noticed when I logged in I could see all the computers on the work network. Surely this isn't so? I check on another computer on guest network. Yep I can see all the same servers and machines. Guest network has easily guessable password. How the fuck do you mess that up? We have someone doing IT work now. People were unsure if we needed dedicated IT. This is just another example of yes we fucking do need a dedicated IT person. Laughing and shaking head. It is not like we ever have foreign nationals from tentatively adversarial nations here...
I got past the barrier in Avorion on a normal play through. Was harder than in the past. I had already befriended a civilization that existed behind the barrier. So getting higher tech levels just cost about 15M credits. Avorion is getting better as a game over time. I like the economy sim and building stuff to make passive income in game.5 -
I have so much work to get done I don't even know where to start anymore. I've got 6 sites in development, 20 sites with continuing maintenance, and I'm in charge of everything IT in my office.
Today I asked if the other developer on our team could help out and take a few maintenance clients off my hands so I could work on getting builds done.
We called a team meeting where I explained my workload and pointed out that in order to make the deadline of next week on two of these builds our other developer is going to have to help out with some of the work on my plate.
Other dev: Well I've already got 3 sites that still need maintenance this month and I'm still working on $client site.
Me: Ok well today is only the 3rd so you have all month to do the maintenance on those sites, these two have to be online next week and I still have 100 hours of work to do between the two of them.
Me to CTO: can I get some backup here? Or can we hire me a monkey (my term for interns) for a couple weeks so I can focus on building?
CTO: We'll have to talk about that at our meeting next week. In the mean time, just do what you can to get the sites done and let me know if you think we aren't going to make the deadlines.
Me: That's what this conversation is, I'm telling you now, and I've been telling you for 3 weeks that we were getting close to my limit for my workload. We have approximately 175 work hours in a month, maintenance contracts alone accounts for 120 of those hours.
CTO: Alright, well if after Monday you don't think you're going to make the deadline (Thursday), then we'll see if we can find a solution.
Fuck this shit, I get paid the same whether the client is happy or not, I get paid the same whether we reach the deadline or not. I asked that salespeople stop making deadline promises before developers get to look at the scope but that's not the way we do things here. At least one of these sites is not going to be online Thursday, probably both.2 -
After learning a bit about alife I was able to write
another one. It took some false starts
to understand the problem, but afterward I was able to refactor the problem into a sort of alife that measured and carefully tweaked various variables in the simulator, as the algorithm
explored the paramater space. After a few hours of letting the thing run, it successfully returned a remainder of zero on 41.4% of semiprimes tested.
This is the bad boy right here:
tracks[14]
[15, 2731, 52, 144, 41.4]
As they say, "he ain't there yet, but he got the spirit."
A 'track' here is just a collection of critical values and a fitness score that was found given a few million runs. These variables are used as input to a factoring algorithm, attempting to factor
any number you give it. These parameters tune or configure the algorithm to try slightly different things. After some trial runs, the results are stored in the last entry in the list, and the whole process is repeated with slightly different numbers, ones that have been modified
and mutated so we can explore the space of possible parameters.
Naturally this is a bit of a hodgepodge, but the critical thing is that for each configuration of numbers representing a track (and its results), I chose the lowest fitness of three runs.
Meaning hypothetically theres room for improvement with a tweak of the core algorithm, or even modifications or mutations to the
track variables. I have no clue if this scales up to very large semiprime products, so that would be one of the next steps to test.
Fitness also doesn't account for return speed. Some of these may have a lower overall fitness, but might in fact have a lower basis
(the value of 'i' that needs to be found in order for the algorithm to return rem%a == 0) for correctly factoring a semiprime.
The key thing here is that because all the entries generated here are dependent on in an outer loop that specifies [i] must never be greater than a/4 (for whatever the lowest factor generated in this run is), we can potentially push down the value of i further with some modification.
The entire exercise took 2.1735 billion iterations (3-4 hours, wasn't paying attention) to find this particular configuration of variables for the current algorithm, but as before, I suspect I can probably push the fitness value (percentage of semiprimes covered) higher, either with a few
additional parameters, or a modification of the algorithm itself (with a necessary rerun to find another track of equivalent or greater fitness).
I'm starting to bump up to the limit of my resources, I keep hitting the ceiling in my RAD-style write->test->repeat development loop.
I'm primarily using the limited number of identities I know, my gut intuition, combine with looking at the numbers themselves, to deduce relationships as I improve these and other algorithms, instead of relying strictly on memorizing identities like most mathematicians do.
I'm thinking if I want to keep that rapid write->eval loop I'm gonna have to upgrade, or go to a server environment to keep things snappy.
I did find that "jiggling" the parameters after each trial helped to explore the parameter
space better, so I wrote some methods to do just that. But what I wouldn't mind doing
is taking this a bit of a step further, and writing some code to optimize the variables
of the jiggle method itself, by automating the observation of real-time track fitness,
and discarding those changes that lead to the system tending to find tracks with lower fitness.
I'd also like to break up the entire regime into a training vs test set, but for now
the results are pretty promising.
I knew if I kept researching I'd likely find extensions like this. Of course tested on
billions of semiprimes, instead of simply millions, or tested on very large semiprimes, the
effect might disappear, though the more i've tested, and the larger the numbers I've given it,
the more the effect has become prevalent.
Hitko suggested in the earlier thread, based on a simplification, that the original algorithm
was a tautology, but something told me for a change that I got one correct. Without that initial challenge I might have chalked this up to another false start instead of pushing through and making further breakthroughs.
I'd also like to thank all those who followed along, helped, or cheered on the madness:
In no particular order ,demolishun, scor, root, iiii, karlisk, netikras, fast-nop, hazarth, chonky-quiche, Midnight-shcode, nanobot, c0d4, jilano, kescherrant, electrineer, nomad,
vintprox, sariel, lensflare, jeeper.
The original write up for the ideas behind the concept can be found at:
https://devrant.com/rants/7650612/...
If I left your name out, you better speak up, theres only so many invitations to the orgy.
Firecode already says we're past max capacity!5 -
Build my own phone and support the Zerophone project by writing code.
Seriously what the fuck is going on with the development of major companies smartphones. Every year all there is are larger displays, better and more cameras, faster processors and some more 'AI' thrown into the mix.
What the heck am I supposed to do with a phone costing multiple hundreds of euros but locked down with an OS spying on you. The processing power available is hardly ever used because most people just use apps like Instagram, WhatsApp or other messaging services.
I get why larger screens are useful but at some point it gets ridiculous.
Better cameras are useful to some degree as well but there's a limit to it.
If you really want to get into photographing then please buy an actual camera.
Another aspect I'd of course like to talk about is privacy. It's hardly existent on IOS or Android smartphones with Google services. Of course one can install different ROMs like Lineage OS but if I already pay multiple hundreds for a device then I'd prefer it working for and not against me.
And dare you break a single part of your phone. You can't really repair it yourself anymore and one can't even change its battery. Most people either have it repaired or just buy a new one and throw it away. There is so much electronic waste, very difficult and expensive to dispose of, just buried in the ground somewhere.
Summing up: I don't really know where the development of smartphones is heading. A phone is a device you carry around with you almost everyday so I'd like it to be tailored to me and not spy on me.
I hope the Librem phone will be a success and other open source phone projects will gain more attention. I want a phone I can repair myself and tailor the software running on it to my needs. I'd like to write messages, listen to music, make calls, run a WiFi hot-spot on the phone and maybe play some tiny games on it once in a while.6 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
Up all damn night making the script work.
Wrote a non-sieve prime generator.
Thing kept outputting one or two numbers that weren't prime, related to something called carmichael numbers.
Any case got it to work, god damn was it a slog though.
Generates next and previous primes pretty reliably regardless of the size of the number
(haven't gone over 31 bit because I haven't had a chance to implement decimal for this).
Don't know if the sieve is the only reliable way to do it. This seems to do it without a hitch, and doesn't seem to use a lot of memory. Don't have to constantly return to a lookup table of small factors or their multiple either.
Technically it generates the primes out of the integers, and not the other way around.
Things 0.01-0.02th of a second per prime up to around the 100 million mark, and then it gets into the 0.15-1second range per generation.
At around primes of a couple billion, its averaging about 1 second per bit to calculate 1. whether the number is prime or not, 2. what the next or last immediate prime is. Although I'm sure theres some optimization or improvement here.
Seems reliable but obviously I don't have the resources to check it beyond the first 20k primes I confirmed.
From what I can see it didn't drop any primes, and it didn't include any errant non-primes.
Codes here:
https://pastebin.com/raw/57j3mHsN
Your gotos should be nextPrime(), lastPrime(), isPrime, genPrimes(up to but not including some N), and genNPrimes(), which generates x amount of primes for you.
Speed limit definitely seems to top out at 1 second per bit for a prime once the code is in the billions, but I don't know if thats the ceiling, again, because decimal needs implemented.
I think the core method, in calcY (terrible name, I know) could probably be optimized in some clever way if its given an adjacent prime, and what parameters were used. Theres probably some pattern I'm not seeing, but eh.
I'm also wondering if I can't use those fancy aberrations, 'carmichael numbers' or whatever the hell they are, to calculate some sort of offset, and by doing so, figure out a given primes index.
And all my brain says is "sleep"
But family wants me to hang out, and I have to go talk a manager at home depot into an interview, because wanting to program for a living, and actually getting someone to give you the time of day are two different things.1 -
1/2 dev and a fair warning: do not go into the comments.
You're going anyway? Good.
I began trying to figure out how to use stable diffusion out of boredom. Couldn't do shit at first, but after messing around for a few days I'm starting to get the hang of it.
Writing long prompts gets tiresome, though. Think I can build myself a tool to help with this. Nothing fancy. A local database to hold trees of tokens, associate each tree to an ID, like say <class 'path'> or some such. Essentially, you use this to save a description of any size.
The rest is textual substitution, which is trivial in devil-speak. Off the top of my head:
my $RE=qr{\< (?<class> [^\s]+) \s+ ' (?<path>) [^'] '\>}x;
And then? match |> fetch(validate) |> replace, recurse. Say:
while ($in =~ $RE) {
my $tree=db->fetch $+{class},$+{path};
$in=~ s[$RE][$tree];
};
Is that it? As far the substitution goes, then yeah, more or less. We have to check that a tree's definition does not recurse for this to work though, but I would do that __before__ dumping the tree to disk, not after.
There is most likely an upper limit to how much abstraction can be achieved this way, one can only get so specific before the algorithm starts tripping balls I reckon, the point here is just reaching that limit sooner.
So pasting lists of tokens, in a nutshell. Not a novel idea. I'd just be making it easier for myself. I'd rather reference things by name, and I'd rather not define what a name means more than once. So if I've already detailed what a Nazgul is, for instance, then I'd like to reuse it. Copy, paste, good times.
Do promise to slay me in combat should you ever catch me using the term "prompt engineering" unironically, what a stupid fucking joke.
Anyway, the other half, so !dev and I repeat the warning, just out of courtesy. I don't think it needs to be here, as this is all fairly mild imagery, but just in case.
I felt disappointed that a cursed image would scare me when I've seen far worse shit. So I began experimenting, seeing if I could replicate the result. No luck yet, but I think we're getting somewhere.
Our mission is clearly the bronwning of pants, that much is clear. But how do we come to understand fear? I don't know. "Scaring" seems fairly subjective.
But I fear what I know to be real,
And I believe my own two eyes.11 -
Maxi-Rant, rest in the first comment!
Yay, I've caught up with my "watch later" list on YouTube! Next thing: Just quickly go through my subscribed channels and add old videos that I haven't seen yet to the watch later list so that I have more stuff to watch the next months. The easiest way to do that is to go to the "all uploads" playlist of the channel (that is luckily always linked now, it used to be hidden sometimes) and use "add all to" to get them on my playlist. Then sort out the stuff that I've already seen and turn on automatic sorting by date, easy. Yeah...
Firstly, in the new design there's no "add all to", I have to go to the old design. For my own playlists, there's a handy "edit" button to do that, but on other pages I have to do it manually. Luckily I have set Ctrl+Shift+1 as a shortcut for "&disable_polymer=true" long ago.
Next surprise: On "all uploads" playlists, there is no "add all to" button. It's on every single other playlist on YouTube, including "liked", "watch later", "favourites" and so on, just not there.
Fine, I'll just abuse my subscription playlist script that I already have by making a copy of it, putting the channel IDs in it and setting the last execution date to 1.1.2001. Little problem with that: Google apps scripts can run for at most 5 minutes and the YouTube API restricts it to add one video per second. So it doesn't work for more than 300 videos. I could now try to split it up by dates, but I didn't write the script myself and I don't know how it sorts the videos to add, so I'll just google for another solution instead.
Found one: Go to the video overview of the channel in the old layout, Ctrl+Shift+I, paste this little Javascript thing and it automatically clicks all the little clocks that add the video to the watch later list. Yay, that works! Ok, i'm restricted to 5000 videos, because that's the maximum size of a YouTube playlist, so I can't immediately add all 8000+, but whatever, that's a minor problem and I'll sort out later anyway. Still another little problem: For some reason I can't automatically sort the watch later list. Because that would be too easy.
But whatever, I'll just use "add all to" from there to add it to my creatively named "WL" list. If that thing is restricted by the same rate limit of 1 video per second, it should be done in about 1½ hours. A bit long, but hey, I'm dealing with 5000 videos. Waiting 2 hours... Waiting 3 hours... Nothing happens. It would be nice if it at least added them one by one, but no, it waits an eternity and then adds all at once. At least in theory, right now it does absolutely nothing.
Shortly considered running it for more hours or even days on my Raspberry Pi, but that thing already struggles when using Chromium normally, I shouldn't bother it with anything that has to do with 5000 videos.
Ok, what else can I do then? Googling, trying out different things, mainly external services that have their own concept of "playlists" and can then add them to an arbitrary playlist later...
Even tried writing my own Java program with the YouTube API, but after about an hour not even the example program in the YouTube API tutorial worked (50 errors and even more open questions, woohoo), so I discarded that idea.
Then I discovered "DiskYT". Everything looked like it would work and I'm still convinced that I can do it with that little pile of shit. Why is it a pile of shit? Well, for example the site reloads itself after a while, so it can at most add 700 videos to a playlist. Also I can't just paste the channel link (even though it recognises those links, but just to show an error message that it can't copy from channels). I can't enter/paste URLs, I have to drag them. The site saves absolutely nothing (should in theory work, but in practise it doesn't), so I have to re-drag everything on every try. In one network, the "authorise YouTube" button (that I have to press again on every computer) does absolutely nothing ("inspect" reveals that there isn't even any action bound to the button), in another network the page mostly doesn't work at all or the button to copy from playlists is suddenly gone or other weird stuff. Luckily I have the WiFi at home, there it works in theory. But just on my desktop PC, no other device, wow. I tried to run it on my new laptop, but it's so new that it still has the preinstalled OS and there I can't deactivate going to standby when closing the laptop, so while I expected it to add 5000 videos, it instead added 4 and went to standby. But doesn't matter, because it would have failed at about 700 anyway. Every time I try to use this website, I get new problems, but it seems to still be the best option, because everything else just doesn't do anything. This page at least got to 700 before.
Continuing in first comment!4 -
!dev !tech
it's 2 am, nd just out of curiosity i put on earphones and tried to dance on a romantic couple song . interestingly, my life has been so single and restrictive that I can't even imagine holding hands of someone , nd that feels a bit sad.
after being burdened with the family ethics, relgions, family fights and financial crisis for so long, i feel i have lost a personality that i should have had.
1. i have lost the sense of random naughtiness and unnecessary bravery/arrogance. from what i know, the best way to reach your path is to remain focused on it. unnecessary acts of curiousity or nuisance leads to fights, frauds or worse.
however, people enjoy life by doing unnecessary banter, gossips, nuisance and having fun with unknown things, people and surroundings.
i guess this makes people a likeable/interesting character in social scenarios as me being an alert dog trying to focus on resching the party place, have a safe party and come home at time becomes a less interesting character than the guy entertaining everyone by his stupid talks in the car.
2. i have lost sense of compassion or showing love , expressing love or doing things out of love and not just for transaction.
From what i heard, people in relationship are clumsy to the max level. messages every 5 seconds, random acts of flirting, teasing, playing hard to get, what not.
i ... am simple. if i like someone, they are gonna know in 5 seconds (which is followed by a lifetime of awkwardness, so i have stopped even letting this thing to be known). physically nd financially i have enough resources and plans to be a good person to be with : i can be helpful in situations, am always up for doing anything interesting and have reputable personna. but expressing via those sugary baby talks is not my ☕
3. I haven't gained any passion for anything. i see people having deep thoughts on their passions for poetry, music, dance , guitar, travel, political alignment, causes, or whatnot.
i am not that much passionate towards anything because life doesn't give everyone the chance to choose passions.
i sat with my father in a flea market selling stuff. that wasn't passion, that was a necessity. for me, money>>study>>>anything
i am only passionate about having food on my plate and a roof over my head
-------
so all these things makes jack a boring person. i jave been chasing money so much that i question everyday of its worth it, as it's currently just being used to battle with the financial crisis while having a little bit in savjngs to enjoy life. but am so much worn out by this pressure of earning money that I don't even know how to enjoy life or have someone to enjoy life with , so its even more pointless to increase that limit.
i do try to explore the things i like : dance, singing, traveling, working out but not at the level that those attributes define me
#awkward_loney_life1 -
I'm currently having a problems sleeping my inner philosopher just keeps thinking about various things. I wanna try to write some of them down as an simply to see what will happen.
I'll write my opinion down as honest as possible so feel free to disagree, but point out what I should rethink, if you want me to consider it.
To me respect has to be earned. I think especially on the internet many people try to skip this crucial step when they try to get respect. Most often when they want an opinion or their ideals to be respected. Most of the time it doesn't even feel like they want to be respected, but rather accepted.
There's nothing wrong with accepted in my opinion, but there are several approaches to get to this point and I despise some of them.
Earning acceptance by earning respect is one of the right ways to do it. Working hard towards your goals, showing your individual strength, standing behind your ideals. These are things I can respect.
I should also mention that these Ideals should be concrete, based on rational thought and a general good will or you will just twist my words to say that I support e.g. IS, Stalin's politics ect.
On a side node, I think it'd be wrong to disrespect everything Stalin did, since, from an economical point of view, he pushed Russia forward by quite a bit.
Then on the other side I see crybabies. People who want to be accepted, without putting effort in their ideals. Most of the time not even aiming for acceptance through respect, but through pity. Honestly, that's all they're going to get from me.
Pity, for their petty ideals.
Basically all I ever see these people doing is attention whoring and practicing multiple deadly sins at once.
Wrath, jealousy, sloth, pride, greed and optionally also gluttony.
Lust is rather a separate package. When I think about it, I link it mostly to horny teens and "send bob and vegane" type of stuff.
Gluttony being powered by sloth or vice versa, enhancing it.
The clear image I have in mind, while I write about this packages of deadly sins however, is that of a jealous person, complaining / getting angry about something they could change change themselves, but want them to be changed for them. Mostly through social networks such as Facebook, Twitter and whatever the fuck Tumblr is supposed to be.
"I wanna be rich, why is <person> richt but I'm not? This world is so unfair 😡". Have you tried working towards becoming rich?
"I don't don't feel pretty. Accept me". Accept yourself. Done.
"I don't like <person or organization>'s doing". If that's the whole message, all you probably did so far is complaining or crying. Sweet tears.
Stuff like that can happen to any person, just like any person makes mistakes.
Mistakes are made to learn from them. If you realize realize and accept your mistakes others may do so as well and forgive you.
But we are he towards this idiotic trend where people just can swallow their pride even for microscopic things. They instead push their pride to higher levels of ignorance, blaming other people, l(ying)mfao, creating black holes of density in the process. Makes me wonder whether their real motive is an inside bet on who can get the most people to kill them selves by face palming.
Most of my life I have been fairly protected against these people, besides some spikes of incompetence, but recently the have invaded 2 areas in my world that make the world somewhat less of a pain. Programming and the internet culture.
Yes, I'm talking about that master / slave BS renaming and article 11 and 13.
The remaking itself isn't really the problem, but rather the context. This was basically a show of power for the self proclaimed "social justice warriors" or SJW for short.
The fact that this madness has spread. That's what worries me. To me it feels like the first zombie has spawned.
Then we have this corrupted piece of incompetent shit, called Axel Voss, and other old farts.
They live in a galaxy far away from reality, somewhere in the European Parlament, making laws they don't know shit about, regulating things they know shit about.
All in the name of the people of the EU of course. And by people we obviously talk about the money.
I can honestly not think of another reason, after reading the replies Voss and his party gave on Twitter regarding the shit they pulled off.
Well, at least none that doesn't involve some firm of brain death.
For now I'll show them as much as possible how much I despise / reject them. Currently playing with the thought of some kind (social media?) website were posts from other sites or actions in general can be rated only with "Fuck you"s.
Given these articles, I should not have them hosted in an European country though 😅.
Almost hitting that 5k character limit 😰1 -
Me: I opened a support ticket with the software vendor last week. I haven’t heard from them yet and the can be slow to respond. I’m unable to debug the issue on my end. If you can’t wait, here are some solutions to explore. [sends a few suggestions]
Stakeholder: Can I give you examples of another error that I think is related? Is that worth exploring?
Me: 😑 No. I’ve reached the limit of what I can do for debugging. I need the vendor to answer my support ticket. -
The most productive way of development is going slow and don't make a lot mistakes. Lately, I'm doing the opposite. It's often not your skills or knowledge but just your patience / expectation to be managed. Since I switched from C to Python I got the mindset that everything should be possible to make in short time with low effort. Being used to do a lot of effort because of C development gave me a lot of patience and upgraded me to be a better dev at any language. But sadly, I notice it's a skill you can lose. How to retrain my patience. Doing a lot of C again. But I want to have the patience NOW (retoor said impatiently). What a paradoxale dilemma shit. You have to do patient stuff to be become patient whey really sucks and sucks if you became inpatient.
Very underrated skill that actually says a lot about you as programmer: patience.
With enough patience you can master anything. Without it, you're depending on tools that allow you to. That's OK, but there's always some price to be paid. Many time it's the ignorance not knowing how the tools work and thus how it actually works. Some people can live with that, others don't. Knowing how somethings works is relative anyway. Do you know how it works until the language level? Kernel level? Framework level? Everyone chooses themselves what the limit is I guess. My limit is the C api / kernel interface.
Random thoughts. I'm just bit frustrating performing low lately and speculating about what to do about it. I just don't have a different hobby than programming. Doing something else for a while to give brain a rest would be best but it should be something raising dopemine. TV / gaming doesn't do that for me.
Sigh, how to do absolutely nothing. I did it for a 1,5 year full time but that was because of medication. Now it's impossible.18 -
We’re only random people living in random places, speaking random languages, eating random food, sleeping, studying and working random hours. Traveling to random points on a sphere.
Just random range is different.
Just random stuff happens on crossroads of two random dots and the entropy speed ups or slows down.
Nothing special at all.
Just a finite state machine iteration.
I mean the amount of effort we put into explanation of infinity is outstanding.
What if there is no infinity at all ?
What if infinity is just misunderstanding of our interpretation of the world around us. It’s just pixels, resolution, gaussian splatting, quantum state, you name it.
Hey man the world is flat. Just put it to the 2d space. How many space you need from a simulation perspective where your patient eyes can only see up to certain amount of light particles per second on a shitty lens.
Propose a world optimization techniques by slowing down subject perception, tiredness introduced. Compress memory, sleep introduced. Limit neurons, cpu power assigned. Deploy on cloud - put it to life. Exit 0 body failure. Exit 1 suicide. Kill -9 killed by tty from ip EARTH.X.Y
What you can do to make the world around this planet alive? Make it blink.
We developers are lazy and I believe that nature is even more lazy than us.
You think you’re going to elevator right now ? You’re going to the preloader. Looking at the window equals playing video from playback. Never goes live, just precomputed fsm. Cars, trains, airplains ? Preloaders everywhere. Highways to split traffic to cities and communication. The road and cities planning department is a matrix maintenance department. And don’t get me started about space.
Space is empty because it’s not even finished. So they put it all behind glass called milky way. You know how glass looked 500 years ago ? It was milky so it’s milky way so we don’t see shit.
If the space would be finished I’ll be starting writing this text from mars, finished it and sent from earth but no it’s light years guys, light years is not a second for a matter. Light year is a second of the the injected thoughts exchange only. Thoughts of the global computer called generative AI that they introduced on local computing devices called cloud.
Even the preloader system is not present, they left us with the one map and overpopulated demo. What a shit hole.I bet they’re increasing temperature right now to erase this alpha build and cash out. Obviously so many bugs here that his one can’t be fixed anymore. To many viruses.
Hope for 0days to start happening so we can escape using time travel or something.
I bet they cut a budget or something, moved the team to other projects. Or even worse solar system team got layoff off because we are just neurons that ordered to do it. And now we’re stuck in some maintenance mode, no new physics no new thoughts to pursue, just slow degeneration. I would pay more for the next run and switch to other galaxy far far away where they at lest have more modern light speed technology.
What do you think about it Trinity ? Not even worth wasting your time for that. No white rabbit this time.
I do not recommend this game at this stage of early access.
- only one available map despite promises for expansions over the years no single dlc arrived,
- missing space adventures
- no galaxy travel mode only a teaser trailers of what you can do in other “universes”
- developers don’t respond to complains
- despite diversity of species and buildings at first sight world looks to generic
- instead of new features bots with mind manipulation, AB testing and data harvesting was introduced
- death anti cheat mode installed1 -
<p>Do you know how clean tap water is? The answer to that question largely depends on where you live, but thinking about it is always a good idea. Drinking water is often contaminated with organic compounds, minerals, chlorine, and chemicals left over from the water treatment process. If you need cleaner water, the easiest way to do this is to get a filtered jug. This guide of <a href="https://womenselections.com/best-wa...">what is the best water filter pitcher</a> will help you find the best water filter jug for your needs and budget.</p>
<p>Filtered launchers are very diverse. To help the reader, we limit ourselves to a few outbreaks through testing and research. We tested various models ourselves, we examined a large number of launcher classifications and confirmed our own findings.</p>
<p><a href="https://ibb.co/19CRS7S"><img src="https://i.ibb.co/55Qs7G7/..." alt="best-water-filter-pitcher" border="0" /></a></p>
<p><strong>Water filter pitcher filter type</strong><br />The filter jug comes with various types of cartridges. Typically, only one type of cartridge can be used, so you cannot select the desired cartridge. The exception is if you select a brand that offers a choice between two cartridges. Each of these cases has its advantages.</p>
<p><strong>Carbon filtration</strong><br />Most cartridges use carbon and are particularly effective at filtering chlorine and its by-products, such as TTHM. These cartridges contain blocks of solid carbon or granular activated carbon (also called activated carbon). In both cases, carbon usually comes from coconut shells, but it can also be made from coal, brown coal, wood, or oil pitch. Carbon can be physically or chemically activated.</p>
<p>There are two ways to physically activate carbon. One is to heat the carbonized material to 450-900 degrees Celsius in an inert atmosphere. Usually nitrogen or argon is present. Alternatively, the manufacturer may use oxidation. In this case, the material is typically heated to 1200 degrees Celsius and exposed to oxygen.</p>
<p>Chemical activation involves the injection of various chemicals into the material. The most common chemicals are hydroxide, sodium hydroxide, zinc chloride, calcium chloride. These chemicals facilitate carbon activation. This means that the process takes less time. However, the material must be heated to 450-900 degrees Celsius.</p>
<p>As the water passes through the cartridge filter, the carbon absorbs liquid and gaseous impurities. Due to the highly porous surface and physical form of activated carbon, one gram has an absorbent surface of 32,000 square feet. Still, it becomes saturated with impurities. If this occurs, you will need to replace the cartridge.</p>
<p><strong>In the conclusion</strong><br />If you are considering buying a pitcher filter as the only filter in your home, you should know what your water contains before you buy it. Today, many launchers have successfully removed most of the harmful contaminants. On the other hand, there are still bottles that can only filter out basic contaminants. As always, I recommend that you test your water before purchasing a pitcher.</p>
<p>Whatever it is, healthy water should always be a priority. I hope my comments, suggestions and guidelines will help you buy the best <a href="https://arizonawet.arizona.edu/user...">water filter pitcher review</a>. However, if you don't think the launcher is a viable option and have considered all of the options, please feel free to visit our website. He uploaded many other honest reviews like this. I am sure you will find the best option.</p>