Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "custom image"
I absolutely HATE "web developers" who call you in to fix their FooBar'd mess, yet can't stop themselves from dictating what you should and shouldn't do, especially when they have no idea what they're doing.
So I get called in to a job improving the performance of a Magento site (and let's just say I have no love for Magento for a number of reasons) because this "developer" enabled Redis and expected everything to be lightning fast. Maybe he thought "Redis" was the name of a magical sorcerer living in the server. A master conjurer capable of weaving mystical time-altering spells to inexplicably improve the performance. Who knows?
This guy claims he spent "months" trying to figure out why the website couldn't load faster than 7 seconds at best, and his employer is demanding a resolution so he stops losing conversions. I usually try to avoid Magento because of all the headaches that come with it, but I figured "sure, why not?" I mean, he built the website less than a year ago, so how bad can it really be? Well...let's see how fast you all can facepalm:
1.) The website was built brand new on Magento 220.127.116.11...what? I mean, if this were built a few years back, that would be a different story, but building a fresh Magento website in 2017 in 1.x? I asked him why he did that...his answer absolutely floored me: "because PHP 5.5 was the best choice at the time for speed and performance..." What?!
2.) The ONLY optimization done on the website was Redis cache being enabled. No merged CSS/JS, no use of a CDN, no image optimization, no gzip, no expires rules. Just Redis...
3.) Now to say the website was poorly coded was an understatement. This wasn't the worst coding I've seen, but it was far from acceptable. There was no organization whatsoever. Templates and skin assets are being called from across 12 different locations on the server, making tracking down and finding a snippet to fix downright annoying.
But not only that, the home page itself had 83 custom database queries to load the products on the page. He said this was so he could load products from several different categories and custom tables to show on the page. I asked him why he didn't just call a few join queries, and he had no idea what I was talking about.
4.) Almost every image on the website was a .PNG file, 2000x2000 px and lossless. The home page alone was 22MB just from images.
There were several other issues, but those 4 should be enough to paint a good picture. The client wanted this all done in a week for less than $500. We laughed. But we agreed on the price only because of a long relationship and because they have some referrals they got us in the door with. But we told them it would get done on our time, not theirs. So I copied the website to our server as a test bed and got to work.
So I show their developer the changes and he's stunned. He says he'll tell the hosting provider create a new server set up to migrate the optimized site over and cut over to, because taking the live website down for maintenance for even an hour or two in the middle of the night is "unacceptable".
So trying to be cool about it, I tell him I'd be happy to configure the server to the exact specifications needed. He says "we can't do that". I look at him confused. "What do you mean we 'can't'?" He tells me that even though this is a dedicated server, the provider doesn't allow any access other than a jailed shell account and cPanel access. What?! This is a company averaging 3 million+ per year in revenue. Why don't they have an IT manager overseeing everything? Apparently for them, they're too cheap for that, so they went with a "managed dedicated server", "managed" apparently meaning "you only get to use it like a shared host".
So after countless phone calls arguing with the hosting provider, they agree to make our changes. Then the client's developer starts getting nasty out of nowhere. He says my optimizations are not acceptable because I'm not using Redis cache, and now the client is threatening to walk away without paying us.
So I guess the overall message from this rant is not so much about the situation, but the developer and countless others like him that are clueless, but try to speak from a position of authority.
If we as developers don't stop challenging each other in a measuring contest and learn to let go when we need help, we can get a lot more done and prevent losing clients. </rant>15
Bug report comes in from a coworker. "Cloudinary uploads aren't working. I can't sign up new customers."
"I'll look into it" I say.
I go to one of our sites, and lo! No Cloudinary image loads. Well that can't be good.
I check out mobile app -- our only customer-facing platform. None of the images load! Multiple "Oops!" snackbars from 500 errors on every screen / after every action.
"None of our Cloudinary images load, even in the mobile app," I report.
Nobody seems to notice, but they're probably busy.
I go to log into the Cloudinary site, and realize I don't have the credentials.
"What are the Cloudinary credentials, @ceo?" I ask.
I'm met with more silence. I use this opportunity to look through the logs, try different URLs/transforms directly. Oddly, everything seems fine except on our site.
I check Slack again, and see nothing's changed, so I set about trying to guess the credentials.
Let's see... the ceo is basically illiterate when it come to tech, so it's probably not his email. It's a startup, and custom emails for things cost money, and haven't been a thing here forever, so it's probably oen of the CTO's email aliases. he likes dots and full names so that narrows it down. Now for the password.... his are always crappy (so they're "easy to remember") and usually have the abbreviated company name in them. He also likes adding numbers, generally two-digit numbers, and has a thing for 7s and 9s. Mix in some caps, spaces, order...
Took me a few minutes, but I managed to figured it out.
"Nevermind, I guessed them." I reported.
After getting into Cloudinary, I couldn't find anything amiss. Everything looked great. No outage warnings, metrics looked fine, images all loaded. Ex-cto didn't revoke payment or cancel the account.
I checked our app; everything started loading -- albeit slowly.
I checked the aforementioned site; after a few minutes, everything loaded there, too.
Not sure what else to do, and with everything appearing to work, I said "Fixed!" and closed the issue.
About 20 minutes later, the original person said "thanks" -- never did hear anything from the ceo. I've heard him chatting away in the other room the entire time.
Regardless, good thing for crappy passwords, eh?21
Update on my previous rants: finally got it working! after spending 2 days compiling the kernel and trying to fix some issues, I just reinstalled my laptop with a fresh antergos image, installed the kernel and both the speaker and headphones work just fine! no distortion, no weird chrome video speed ups, just works - it was probably just something I had installed ages ago to make external usb sound work.
I also used this opportunity to apply the missing grub theme and found this: https://gnome-look.org/content/... it's perfect with almost any custom background too.
Why is this a rant? well some asshat at gnome decided to remove the "global dark theme" option from tweaks, so now thousands of themes are broken if you want the dark theme, since the developers now have to offer the dark theme seperately, well numix-frost has had this reported since the 7th may and no response since, the hack to make it work is to replace the gtk.css with the dark equivalent gtk-dark.css for now..31
Wrote a custom printer script in shell.
Went to test the script on some printers.
Neglected to check accuracy of script.
script is supposed to print jpeg.
it doesn't interpret it as an image,
but rather as raw binary in text...
mfw each printer in the entire 5 story building
starts printing 500 pages of
This morning I received an image of my custom mouse pad. I almost cried tears of joy. Now for the long wait as it comes from China...18
Just now I realized that for some reason I can't mount SMB shares to E: and H: anymore.. why, you might ask? I have no idea. And troubleshooting Windows.. oh boy, if only it was as simple as it is on Linux!!
So, bimonthly reinstall I guess? Because long live good quality software that lasts. In a post-meritocracy age, I guess that software quality is a thing of the past. At least there's an option to reset now, so that I don't have to keep a USB stick around to store an installation image for this crap.
And yes Windows fanbois, I fucking know that you don't have this issue and that therefore it doesn't exist as far as you're concerned. Obviously it's user error and crappy hardware, like it always is.
And yes Linux fanbois, I know that I should install Linux on it. If it's that important to you, go ahead and install it! I'll give you network access to the machine and you can do whatever you want to make it run Linux. But you can take my word on this - I've tried everything I could (including every other distro, custom kernels, customized installer images, ..), and it doesn't want to boot any Linux distribution, no matter what. And no I'm not disposing of or selling this machine either.
Bottom line I guess is this: the OS is made for a user that's just got a C: drive, doesn't rely on stuff on network drives, has one display rather than 2 (proper HDMI monitor recognition? What's that?), and God forbid that they have more than 26 drives. I mean sure in the age of DOS and its predecessor CP/M, sure nobody would use more than 26 drives. Network shares weren't even a thing back then. And yes it's possible to do volume mounts, but it's unwieldy. So one monitor, 1 or 2 local drives, and let's make them just use Facebook a little bit and have them power off the machine every time they're done using it. Because keeping the machine stable for more than a few days? Why on Earth would you possibly want to do that?!!
Microsoft Windows. The OS built for average users but God forbid you depart from the standard road of average user usage. Do anything advanced, either you can't do it at all, you can do it but it's extremely unintuitive and good luck finding manuals for it, or you can do it but Windows will behave weirdly. Because why not!!!16
Oh fucking Huawei.
- Honor 6x (BLN-L22C675)
- Has EMUI4.1 Marshmallow
- Cousin brother 'A' (has bricking XP!)
- Uncle 'K'
- Has Mac with Windows VM
- Stock as LineageOS / AOSP
Procedure (fucking seriously):
- Find XDA link to root H6X
- Go to Huawei page and fill out form
- Receive and use bootloader code
- Find latest TWRP
- Flash latest TWRP
- TWRP not working? Bootloops
- XDA search "H6X boot to recovery"
- Find and try modded TWRP
- TWRP fails, no bootloop
- Find & flash TWRP 3.1.0
- Yay! TWRP works
- Find and download LineageOS and SuperSU
- Flash via TWRP
- Yay! Success.
- Attempt boot
- Boot fails. No idea why
- Go back to TWRP
- TWRP gives shitload of errors
"cannot mount /data, storage etc."
- Feel fucked up
- Notice that userdata partition exists,
but FSTAB doesn't take
- Remembers SuperSU modded boot
image and FSTABS!
- Fuck SuperSU
- Attempt to mod boot image
- Doesn't work (modded successfully
but no change)
- Discover Huawei DLOAD
Installer for "UPDATE.APP" OTAs
Note: Each full OTA is 2+ GB zipped
- Find, download, fail on 4+ OTAs
- Discover "UPDATE.APP Extractor"
Runs on Windows
Note: UPDATE.APP custom format
Different per H6X model
- Uses 'K''s VM to test
- My H6X model does not have
a predefined format
- Process to get format requires
TWRP, which is not working
- FAIL HERE
- Discover "Firmware Finder"
Windows app to find Huawei
- Tries 'K''s VM
- Fails with 1 OTA
- Downloads another firmware ZIP
- Unzips and tries to use OTA
- Boots successfully?!
- Seems to have EMUI 5.0 Nougat
- Downloads, flashes TWRP
- TWRP not working AGAIN?
- Go back to XDA page
- Find that TWRP on EMUI 5 - NO
- Find rollbacks for EMUI5 -> EMUI4
- Test, fail 2-4 times (Massive OTAs)
- DLOAD accepts this one?!!!
- I HAVE ORIG AGAIN!!!
- Re-unlock and reflash TWRP
- Realise that ROMs aren't working on
EMUI 4.1; Find TWRPs for EMUI5
- Find and fail with 2-3 OTAs
Note: Had removed old OTAs for
space on Chromebook (32GB)
- In anger, flash one with TWRP
instead of DLOAD (which checks
- Works! Same wasn't working with
- Find and flash a custom TWRP
as old one still exists (not wiped in
- Try flashing LineageOS
- LineageOS stuck in boot
- Try flashing AOSP
- Try flashing Resurruction Remix
- Realise that need stock EMUI5
- Realise that the firmware I installed
wasn't for my device so not working
- FUCK NO MORE LARGE DLs
- Try another custom TWRP
- Begin getting '/cust mounting' errs
- Try reflashing EMUI5 with TWRP
- Doesn't work
- Try DLOADing EMUI5
- Like before, incompatability
- DLOAD EMUI4
- Reunlock and reflash TWRP
- WRITE THIS AS A BREAK
Uggg..... I'm trying to encode a binary file in Python which may be an image or may be an executable, and then decode it back into a file (I plan on editing it in the middle, but baby steps for now..) but nothing is working!!
My plan is to:
Open binary file.
Decode as base64, or something else that could easily handle binary.
Convert byte data to string (for editory perpousos - I won't be editing bytes, I'll be doing custom encoding but that's irrelevant for this test)
Convert back to a byte string/array (with .encode(), probably)
Write to file.
I do this, yet the output has been altered... Though I haven't touched anything..
It's so enfuriating.. x.x18
Today I'm ranting about Windows. No, it's not "WiNdOwS sUcKs!", it's more like "But why!?"
See, I'm an IT guy for the year, and in my office they use Windows. Now once upon a time, they had Active Directory and all that (well, actually, they still do) but then they got some new computers running Windows 10, and for some reason they just couldn't join them to the domain!
Why can't they, you ask? Well, Microsoft only allows Win 10 Pro and up to join a Domain, and since these computers came with Win 10 Home, that wasn't possible.
Long story short, I now have some 30 computers that need to be upgraded (possibly from 7) to Win 10 Pro, and joined to the Domain.
Thing is, I would like to do that all in one go, so I look into how to automatically setup Windows.
"Ah! Got it, provisioning packages!"
Lest you think they work let me spare you now: they don't. Just like real computers where everything is different, provisioning packages failed to work twice, and after wasting about a week trying to make it work, I gave up.
So now I realized that I need to try a different method, a custom windows image. Issue is, I've got no clue how to make one. See, microsoft decided to go all in on the provisioning packages thing (they do have advantages in certain use cases), and seemed to decide that making custom images was no longer necessary, so they documentation was nearly impossible to find.
But after a lot of searching, I figured out how to do it:
1. Install Windows in a VM.
2. Put it in audit mode.
3. Install your stuff.
4. Create an unattend.xml file with certain customizations.
5. Put the unattend in Windows\System32\Sysprep
6. Generalize the image.
7. Boot WinPE.
8. Open the console.
9. Capture the image.
10. Wait an hour or two.
I'm over simplifying, it was a huge PITA, and yet there were still issues.
Maybe another time I'll talk about those.27
About 3 years ago, my girlfriend had this laptop that she got from her University. She had to give the laptop back to get reset, but didn't want to lose all of her data on it, and a backup would be around 750GB.
So I suggested that I would backup the laptop (was thinking to just dd an image and go from there). So I plugged in my mobile USB and external hard drive, and started the imaging process. Given the amount of data and setup, the process should have taken about 5hours. So we left it there for 5h.
Please be mindful that at this stage in my life I knew very little about boot processes, oses, and hardware.
5h after. The laptop screen is black and it ain't responsive. Not sure what happened, the dd process was completed, but the laptop refused to boot into windows. Tried a number of boot tools, and spent a crazy night hacking at the machine. But the university had some of sort of fail safe to not allow anyone to boot into windows if someone opened bios without entering a password. Whatever this was, I spent over 12h trying to either open mount the windows partition with a Ubuntu usb or mount the corrupt dd image on my laptop.
Long story short, after throwing at it a number of fixes. I was able to mount the image, copy out all of her personal data, and reinstall a new version of Windows on her laptop. The university didnt understand why the laptop was already reset. She still mentions this to me anytime I want to take a "custom approach" to software lol3
Fuck that shit once again. Spent an entire day releasing micro-patches because nobody listened to me, because "I am a developer but I don't do that full time".
Because you might think that I didn't fuck my ass with a giant bottle-shaped dildo studying development to get this fucking place maybe?
And what, I was right, once again. Because maybe I know the fucking project I work in, linked to the fucking product I'm certified for, you dumb cumfilled assface.
For those that doesn't know it, i do manage, maintain, develop stuff on our ECM infrastructure for our clients. I do basically everything as we have few clients and are a small company we can do this that way.
Anyway, had to release "urgently" 3 fucking features to a custom module to export stuff from the ECM to a client's ERP system. Tests? No time for this, don't lose time on this. I smell the "why didn't you test?" in two days. I fucking smell it.
Plus, the client is a fucking retarded mess. The kind of guy that is unable to check his previous e-mails and asks again the same thing, four times. Should I do a fucking tutorial on how to fucking use a fucking search bar? And you want to be informed on the technical details about the features? Come on, I have to explain you how to do your fucking CFO job.
And if it wasn't enough, My boss replied to the client while I was on holiday to explicitely tell the client that I'm the only one that can take care of that. That gives us a very professional image, doesn't it? And when I asked to train someone to at least do the administration job when I'm away, it's always a "we'll check that, we need that" but then nothing.
Anyway fuck it. if I resign I will laugh. 2 months to train someone else and get them on the export modules (which are commented and documented) in a company where in the office I'm possibly the only developer (we have one in the second office but he's a web developer).
Hopefully I'm at a bar drinking a fucking beer while continuing my golang "getting started" project. That's the only thing that makes me happy of coming back from holiday
p.s.: I want the fucking raven, make me dream.7
Whelp. I started making a very simple website with a single-page design, which I intended to use for managing my own personal knowledge on a particular subject matter, with some basic categorization features and a simple rich text editor for entering data. Partly as an exercise in web development, and partly due to not being happy with existing options out there. All was going well...
On my TODO-list: Comment and/or upvote system, spoiler tag, GDPR compliance (if I ever launch it haha), data-limits, a simple user action log for admins/moderators, overall improved security measures, refactor various controllers, clean up the code...
It STILL uses a single-page design, and the amount of feature requests (and bugs) added to my Trello board increases exponentially with every passing week. No other living person has seen the website yet, and at the pace I'm going, humanity will have gone through at least one major extinction event before I consider it "done" enough to show anyone.
TIL one of the first few issues on the ISS was that they had a laptop that wouldn't boot. The (pirated, some say) copy of Norton Ghost they had on a floppy was also suffering from bad sectors, so it wouldn't boot. These guys had an entire floppy image beamed up from base to replace a copy of Norton Ghost. (Some say this was a pirated copy of Norton Ghost, as none of the floppies had the official label, instead all had either hand-written or custom-made labels.)
Then they had codepage issues.1
Custom image format update for anyone who is interested…
First blocks of data have been written and the colour table has been compressed from ~170KB to 30 bytes…
Now to decide on my preferred method for pixel indexing, RLE or no RLE… and how should one do the RLE…21
Don't you just love customers?
It al began when they showed us the flyers they were printing for their new products, an some one at our company who doesn't work here anymore had the brilliant idea of copying it to their webshop, as a fucking gimmick... Ooohh man the customer didn't seem to understand it was only visually
They wanted the 3d layering effect to be dynamic, so each product would have its own with custom colours
So it was made
A few weeks later they didn't want the informational text, they wanted links to each product that the layer uses
Sounded like logical so it was made
Again some time later, they noticed that the layers were not textured, but just plain
I argued against it because it would add unnecessary loading time for some 300 by 400 px element but they insisted
So they got what they wanted
A few days later they said that the textures were of low quality, and that we had to create ones with higher quality
Again our management said, yes
We made ~ twice the size of the element in image pixels to create a higher definition image
Then the customer wanted that the layers should change based on some selection menu above it
(At this point we realized that it would no longer be just a fun little gimmick)
So we tried to refactor/rebuild it to remove most if not all the hacks we did just to make the customer happy, that took too long for them (the customer) so we had to revert back to the hacked together version because otherwise we would not be done on time (commanded by management)
But again, we ... I say 'we' as in the company but realistically I've been the only one who has worked on the fucking abomination
But I digress...
A few stupid requests later, some layer images are almost fully transparent PNG images that are almost 1mb in Filesize each (some products have 5 or even more layers) and the god damn thing now has to account for optional layers...
I AM FUCKING SPENT... I'VE JUST CAME BACK FROM VACATION BUT I ALREADY NEED IT AGAIN... FUCKING WORKING 60 HOURS A WEEK JUST TO KEEP ONE CUSTOMER HAPPY WHILE OTHER PROJECTS BREATH ON MY NECK1
Fucking outlook, can't even render simple html.
Our company wanted a custom newsletter to send to our clients. Before vacation I dropped a few guidelines to our designer, how our newsletter should look. 640px width, common fonts for everyone to render properly, stuff like that. To my fucking surprise they managed to create the most designed newsletter I've seen. Custom font, custom letter sizings, negative row gaps, pixel to pixel image locations. After writing custom html for it and managing to get all perfectly in 3 hours, to my surprise I found out, that outlook is broken. FML
Now everything must be redesigned and simplified, just because I was naive enough to think, that all mail clients manage to render simple HTML...11
Custom image format update:
Currently converts a 12KB PNG image into 172KB BIN file, now to compress the fuck out of it!
Update: Fuck should I use a buffer or simple binary data for file structure manipulation....15
"Let's just add a logging system to our dependency"
No. You fucking idiot. DON'T INCLUDE A CUSTOM LOGGING SYSTEM INTO A DEPENDENCY FOR IMAGE MANIPULATION. I DON'T WANT YOUR FUCKING BULLSHIT LOGGING WHEN I'M FUCKING HANDLING IT MYSELF FOR MY ALREADY EXISTING SOFTWARE!! HOW DUMB CAN YOU STUPID MOTHERFUCKER BE TO TELL ME TO JUST "IGNORE" THE MESSAGES IN THE CONSOLE WHEN I'M BUILDING A FUCKING CLI BASED SOFTWARE??!!1
TLDR; sometimes I want to murder my friends.
Pratten: Hey Ethan can you image the robotics programming laptops?
Me: Yeah sure no problem. Let me just make a custom windows iso with all the software we need so I don't have to deal with installers after the fact.
Pratten: Ok great!
Me: *makes custom ISO compiles it and puts it on usbs*
Pratten: hey could you also add drivers station?
Me: uggggg... *Recreates iso and preps bootable flash drives*
Me: IS THERE ANYTHING ELSE YOU NEED?
Pratten: nope that should do it ;;;)
Me: ok great. *flashes laptops and runs install. (they're old so it takes a while)
Pratten: ok good job thanks. Did you install *NOT PREVIOUSLY MENTIONED TOOL SUITE 1* or *NOT PREVIOUSLY MENTIONED NEWER TOLL CHAIN THAT ONLY HE KNOWS HOW TO GET* ? If not I'll have you install those later.
I'm worried that this question will probably get downvoted on SO and I cannot post from my account as well, so here it is..
How to play youtube embedded video in mobile over a custom button / svg / image ?
One idea I'm currently working on is to trigger &autoplay=1 onclick but it is only appending that parameter to existing URL?
Please let me know if you have any thoughts, and I'm doing this for only mobile devices only
P.S I cannot use YouTube API11
I just fucked up real bad:
My phone was giving some error about not being able to install an update. Fair enough, i think to myself, so i try rebooting. Still nothing...
I then remember that i at some point OEM unlocked it for some testing, so i start up adb and see if i can connect during the update process. I can't. This is bad: I can't get into my home environment, nor can i connect with adb
Then i try booting into recovery, but instead of booting to ACTUAL recovery, it boots to some custom made "E-Recovery" made by huawei (my phone is a huawei p9 lite), which only gives me the option to download the update, which crashes, and no way of resetting. However, from here, i am finally able to connect to my internal storage via hisuite to make a backup
Next up: Bootloader
So i next load up the unlocked bootloader to try and manually flash the update. That works great, but it still wont boot normally. So i figure: it must think my device is in fact a different device. At this point i'm pretty fucked: Even though i have my data backed up, i can't manually download the update from huawei's site because i don't have the right keys, and i can't download an OTA because their site sucks and half of the downloads don't work, including the one i need. So now i'm stuck here with a bricked phone because EMUI doesn't know how to install an update.
I then did the stupidest thing i have done to date: i wanted to flash a custom recovery image over the "E-Recovery" in order to do some troubleshooting, but instead of writing
"fastboot (mydeviceid) flash recovery recovery.img"
"fastboot (mydeviceid) flash boot recovery.img"
Meaning i flashed my BOOT partition with a custom recovery image that turned out to not be able to run. Great! Now i've totally fucked my boot sequence
I can't call their support line either, because as soon as they realize i've tried to restore it myself, and therefor had my OEM unlocked, they basically just hang up.7
Hey guys, could I ask you to upvote my question on stackoverflow or take a look and help me solve this if you can, I'm stuck with this problem for one week : https://stackoverflow.com/questions...
I would really appreciate it9
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2
postmarketOS port day uhmmmmmmmmmmmm 3.
Surprisingly to get a port of it you just need kernel which is hella awesome. What isnt awesome is the boot image of the 2012,2013 sony devices.
This is gonna get technical. If you dont care about it just skip it.
So sony decided that using ELF format for boot image is good idea. And TBH they were kinda right. ARM processor after all can execute ELF natively and work efficiently. Whats the issue then you might ask. Well kinda simple. Normal AOSP boot images are not ELF format. (They kinda are but arent at the same time. Lets just say they contain ELF image at some point). This is of course the google way. Overenginner everything you can.
So why is the ELF image format the issue ? Well to produce this elf image you need special script provided by sony that can make ELF format boot image that you have to compress properly afterwards. OK this sounds OK so whats the issue ? AOSP or well android sources do not support this out of the box. What we need to do is to create a custom way of creating that boot image. Which isnt hard but is just extra unneeded work.
Now when you flash the image it all works as expected.
But what happens if the format isnt right ?
Device will just show blank screen and reboot and so on forever (Or well until battery dies).
Why it cant boot other images is kinda self explanatory. Its different format. OK so it wont boot anything other then custom boot image OK.
Now what does postmarketOS (PMOS from now on) do ?
Well it creates basic AOSP bootimage with custom ramdisk. Which is all fine on most devices. Except here of course.
So that wont boot.
You may just say why dont you just convert it ? Well it isnt that easy. Each elf file has its own header. Which is for that kernel and etc. If it doesnt match eyyyy no boot. So we cant just convert it that easily.
Why not just use the script ? One could do that of course. ( i have not yet done that as its almost midnight and i have test tomorrow). Issue here could be that it still doesnt boot which would mean that something else is wrong. It will most likely work tho. (hopefully)
What i would need now is UART. (Yes phones have UART if you didnt know)
What is that ? Way to communicate and debug the kernel when something is wrong to the point where nothing works. Issue is my UART to USB converter is who knows where and the new one isnt going to be here that soon.
Thats all for now i guess. Long one i know. But well that is the behind the scenes of those kind of things. It isnt as simple as one may think sadly.
It woudlnt be my first and sadly not even last time i would get PM saying to hurry the development or some other shit like that. (Yes people are like that). And when you get issue it isnt as easy as opening duckduckgo and searching it as most likely it will return something which is far from what you are doing.
So if you are that kind of person that sends PMs to devs on XDA to hurry the development or asking when its gonna be done. STOP. Please just stop. We have real life too (I know its hard to believe but well its there) and doing this isnt the only thing we do. Its gonna be done when its gonna be done. And i hope this is gonna at least put some perspective for those people to not send those kinds of messages to us. (We read them. We just dont reply to shit)
TL;DR Sony decided to use different format of bootimage on 2012/3 devices which is pain to generate properly.2
It started when i was about 10 old.
My uncle showed me how to display something in dos-prompt using the echo command in a custom batch-file.
A few commands later, i was able to "program" a flip-book of an ascii ski-driver. Each ascii picture was separated by pressing any key and cls ^^
Aaaaah. Sweet childhood memories!
Later on i used a programming-language for beginners in windows.
This language gave you control of a triangle called "turtle".
My first high-level programming language was Delphi.
Since i had no idea of databases, i created a pseudo database of magic the gathering play-cards. Each card had it's very own windows formular filled up completely with an uncompressed image object displaying the chosen card modally. *sigh*
I scanned each card by using a feed scanner.
Finally, my application consisted of 200 cardimages and forced my PC to swap the required memory from my harddisk.
Boy o boy. I was such a noob! ^^
Over the years i discovered and felt in love with a lot of languages (jsp, java (script), c#, php, ...) and concepts (mvvm, mvc, clean-architecture, tdd, ...)! ;)
Just spent a lot of time on custom building an Ubuntu docker container, and forgot to save the image before I accidentally reset the whole thing to blank1
List of things one of my Python projects needs:
- cross-platform IMA/VFD/VHD/VHDX/qcow/VMDK/IMG/DSK/others image read/extract support that doesn't need admin/root privs (so no, can't use dd or mount)
- custom DB format (for speedups when indexing files and retrieving info based on hash) and converter from previous DB format
- GUI or actually good CLI
- massive speedups
kill me now4
My worst mistake (though it did help catch a bug which was cool) was not checking that my merge was done properly (we were using a terrible CM tool at the time and you had to merge manually). I had checked in some code that would, among other things, scale an image to a custom window space. I had missed one line of the code I had written to properly calculate the image bounds on window resize. As a result, whenever you would scale the window, the image dimensions would change erratically and screw up other behaviors based on image size. It shipped that way.
Drupal I'm seriously about to lose my shit.
I want to show one fucking image and one fucking title in my own custom markup.
Feels like I'm trying to create and launch a fucking nuclear weapon.3
It's not a real dev regret but it's related to it: Not being able to fix a price or a value for my skills.
It's a real regret.
Just coming out of college I have tried my hand at freelancing at found it real hard to fix a value for what work was offered because I just found it weird to fix a monetary value on something that I've done for free for my entire life ( at school and uni I mean).
To make it worse my first experience was with a grad student who wanted me to complete her project.
Now being from India, I know that we have a stereotype of doing work for a lower price.
But this girl took the cake.
She wanted me to create a custom Image classifier using tensorflow.
It had to train with live images and then detect those images in the live video feed.
It's quite simple but still training the basic network(which would be used to just detect features) would take a decent amount of time and effort.
No pre trained models was also a prerequisite for her.
After hearing all her requirements I asked her what price she was willing to pay.
She said 50$ lump sum.
Being really confused as to what to say to that I just stopped replying.
To this day I have no clue what would be a reasonable price to quote a client like that.
After that I just continued dealing with people I knew personally and am currently doing that as an internship. But entering the proper freelancing system again has become a kinda weird thing in my head now, since I have no clue as to what price to put on my skills.
Is there any advice that any of the more experienced people would give?
Also consider the fact that I'm relatively fresh out of college and have no corporate experience.
Even if you've read my rant and have no advice it's okay. I guess this is a path of self realization after all.3
I way under-quoted this custom CMS.
I thought ContentBuilder.js was going to be a better plugin. Documentation is lacking, I've run into a couple bugs, and the thing looks like it was built 10 years ago with iframes for image uploads...Ugh.
On top of that, I didn't realize how much work certain things would be like the drag and drop menu builder. Yea....it took 4 different plugins to find one that works well with nested items.
I'd say I'm 60% through and need to be 90%. I'll probably start cutting corners unfortunately :(2
Was working today when all of a sudden the background on my laptop and monitor changed from its usual mostly black image to bright white. Tried to set the desktop background, but it had no effect. Honestly thought I broke my computer for a few minutes.
Turns out one of the ubersichts (custom desktop widgets) was attempting to curl a page that was "Down for server upgrades". Definitely one of the weirder computer issues I've had.
I'm looking for a good cloud based python IDE. Let's hear suggestions...
My employer provides me with a MacBook to use at work, however they use a custom OS X image that has whatever security configuration they decided was essential. Something about the configuration prevents me from running third party Python packages.
During those times that I'm "waiting for work things to compile", I'd love to tinker with a little Python project I'm messing with. Does anyone have any suggestions on cloud based IDEs for Python?
Yes I've Googled it, plenty of results. But anyone have suggestions based on their own user experience?
Thanks ahead of time!6