Details
-
AboutLEMP stack dev. Currently using a Dell r610 as a leg warmer.
-
SkillsHTML, CSS, JS, jQuery, AngularJS, PHP, SCSS, MySQL
-
LocationUK
Joined devRant on 4/19/2016
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
-
In the last one and a half days I optimized our Angular UnitTests. There‘re written with Karma and Jasmine. Before the optimization they needed ten minutes for around 400 tests. Now the same tests are executed in 12 seconds.4
-
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
>get hired at new company
>so big nobody knows anybody
>buy ancient company swag on ebay and put it at your desk
>everyone thinks you're a ten year21 -
Here’s a poster with a super short description of each one to help you keep track and find some new useful Linux tools.16
-
Meeting with client.
Me: our solution does not require a central server, any computer (windows, Mac or Linux) on which you install our software can act both as a client and a server
Client: no we need to have all our data on our server
Me: sure, you can install our software on any computer
Client: no, we need it on our server
Me: ok then, we can make the needed changes to install our software on your server, it will cost an additional fee though
Client: very good then17 -
Me: p
Windows Search: Paint
Me: pow
WS: PowerPoint
Me: powers
WS: Powershell
Me (typing too quickly to notice Powershell is already there): powershell
WS: ummm idk11 -
!rant
Bit of a shameless plug but...
I've been making Crypton.sh as my side project for the past couple of months and it's now ready for public consumption. Crypton.sh is a secure and encrypted SMS messaging solution in the cloud, with its original purpose to be a 2FA mobile number that cannot be stolen like a SIM card can be, the idea came about when someone I knew has their SIM card stolen via a SIM card swap scam (https://bbc.co.uk/news/...).
Originally it came about as that idea but grew into something bigger, now everything is encrypted and you can also have conversations with other people, but I'm testing things from time to time and more can follow. Crypton.sh makes sure that you can no longer worry about your SIM card being stolen by malicious hackers, or having a second account on Whatsapp, Telegram, Signal, Google and others.5 -
Have to use Mac for mobile development
Have 16 GB of ram on a MacBook Pro machine from 2013.
It’s been working perfectly fine on the stack I’ve been using (Firefox, vscode, react-native, node, docker, Xcode, Android studio, simulator, chrome canary)
Apple releases new hardware with 32 GB ram and a few months later I see my is slowing down due to low ram, forcing me to close apps
I smell something fishy going on2 -
Google: this sha-1 collision is really gonna fuck up the internet more than anything else today
Cloudflare: hold my beer
CloudBleed2 -
7 am. Dog wants out. I roll out of bed after trying to pretend I am dead.
Walk down the stairs to the side door. Half asleep and notice that the door has daylight shining through on the lock side. Didn't shut it all the way the night before. Walk outside. Dog does his thing. Turn around. Doors locked.
Fuck.
Go for my phone. In the house. Go for my keys. In the house. Fuck. Fuck a duck.
Start checking my windows. One opens a fraction of an inch. Doesn't do me any good. Dog is outside with me. Freezing his ass off. It's like 5 degrees here.
Both of my neighbors don't answer their door. Life flashes before my eyes. Put my dog in my jacket to warm him up. Little 15lb rat terrier. Not made for snow.
He's fine for now. I grab a piece of rebar from my backyard and lever my window a bit more open, busting one of the locks.
And then I yell "ALEXA. OPEN THE FRONT DOOR." The voice of an angel responds. "OK." Whirrr. Click. Door opens. Sweet warmth.
I need a fake rock with a key under it.
Great Sunday.18 -
!rant
Does anyone of you know LOLCODE?
If not let me present you a simple program that displays the numbers 1-11 and terminates:
HAI 1.2
CAN HAS STDIO?
I HAS A VAR
IM IN YR LOOP
UP VAR!!1
VISIBLE VAR
IZ VAR BIGGER THAN 10? KTHX
IM OUTTA YR LOOP
KTHXBYE
You gotta love the okay thanks bye as termination :D
Check it out on GitHub8 -
Landed my first grad role as a software developer!
Node, c#, VB, xamarin, swift!
30k!
Life is good folks25 -
Sometimes the best solution is the simplest
But sometimes it takes 20 hours of debugging to figure that out
😧1 -
Pro Tip: if you're building a developer REST API, don't forget to add a sample response to each endpoint. I don't want to have to test each one when I'm building my integration, I'd rather build my model in one go with the documentation displayed on a second monitor.6