SkillsFull stack web. Tooling. Architecture.
Joined devRant on 12/4/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
God dam all the memes that keep coming up on devRant.
Can we get support for custom filters?
Hide when post.text.length < 50 && post.img is not null3
I've just read the article about CloudPet, and honestly I am disgusted.
I don't even know what to say beyond that. I call out my team on basic stuff like forgetting to escape, but this?2
Code comments are good and all, but there's a time and a place for them. They're more or less an opinionated free-form version of what code is doing.
In a library, they're good for documentation. However in a platform, it makes less sense. Especially one which is changing at quite a fast rate (though it has matured in recent months).
Dont get me wrong, we aren't doing wades of horrible, unintelligible code. We need to be sure of what happens when we call a function, so we make sure the signature is always correct.
def do_good_things(puppies): # "good things" is opinionated. Say what you're doing
"""give treats to puppies""" # doc string is wrong
Latest promoted thread on XDA to make the list:
"how to disable forced encryption".
This is from a place that tries to be innovative. I'm half expecting a thread get promoted with the title "how to give everyone your passwords/identity/credit cards".
We use celery at work, and one of the issues we face is that we use Django logging.
I'm not sure how it happened, however we only get 1 level of tracebacks from it now.
This has made debugging painstakingly difficult, since we have to manually traverse the code every time.
(we're in the process of moving to sentry, and we'll get our full logs back soon)1
I gave a 2 day estimate to the managers once, and a 10 minute estimate to my peers.
The server side code went smoothly. Couple of minutes, done.
Then I remembered the front end was written under a tight deadline....
I hate the reason why I don't mind people thinking I'm in my late 20s.
See, I've known quite a few people who will happily work with me, only to find out I'm 20. After that, they'll turn their nose up at me, and not bother with my input.
Sure, it might not be an age thing, and instead is a "I'm working with a junior level person", but even so, if someone has valid points to make, you listen to them or you'll get screwed over.
I didn't get to where I am now by acting like an inexperienced graduate.
And that's another thing. I didn't go to Uni/College. I self taught myself everything I know. I'm glad that the culture for smaller businesses has moved on from "you must have a degree to even talk to us".
It still stands though. If people lose respect for someone who didn't take exactly the same path as them, then screw them. I'm not a violent guy, but you'll still end up with a black eye if you push your luck.11
I've always managed the different versions of python manually on my machine, and set up virtual environments off of them.
Now I've found pyenv, it's so simple now.
Can't wait to see what plugins are available for it2
Sometimes I'll block a code submission with the words security vulnerability", then go have a 10 minute break to see if the others can spot it on their own.
Last night I looked at an Android app.
Going to put it bluntly, I don't like java much.
But Android takes it to a whole new level.
I was talking to our (SlimRoms) framework dev about how the database transactions used to take 400ms, and it was cut down to 10ms by, changing to xml with some kind of a reflector (so xml would be saved in the background).
This is atrocious. As a web developer, I live in a world where you can do thousands of transactions in that time (albeit on faster hardware).
So how is it that all of the abstractions in Android add up to a single read/insertion in Android (and I'm talking about an app written by Google) takes 400ms?
Every time I go in that channel to talk to them, I find something screwed up. Gah.4
I'm kind of surprised people haven't tried using devRant as a job board yet. There's a lot of raw talent here, both seniors, and juniors experimenting with everything.
May as well start. We have ping pong!11
API provider: include a signature based on these fields in this order. DO NOT ENCODE IT!
Implementation works a while, then..
*a wild apostrophe appears*
Signature no longer works.
API Provider: "oh, yeah we escape those."
Not only is it a poor design for signing payloads, the documentation is shockingly poor in it.
Even the implementation example (which is supposedly from their code) doesn't account for any type of escaping or encoding.
Before anyone asks, I can't into details about the implementation.3
A great achievement doesn't have to change the world. It doesn't have to be noticed by anyone at all. It could actually be shunned by society as a whole.
A great achievement is something that makes you proud, something that pushes you to the limits of what you can do.
There is one issue with defining a great achievement as such, however. People do *not* have limits when it comes to achieving.
A question to you all, what do you suppose a "great achievement" is, and do you feel you've ever do one?3
Watching normal people use a computer is incredibly painful.
* slow typing
* slow mouse movements
* mouse is used for everything
* instead of hitting the back button, they'll load up a website and go through 6 pages again.
* no shortcuts!
Someone lost their tabs today (Windows crashed), so I said "press ctrl + shift + T". They were so amazed that keys could do something so advanced.
Dhcosncowhtoehwurt hrnxkxxhry he.
Honestly, if people learned how to use keyboards to their full potential, they could shave off 1-2 hours of their normal work PER DAY!23
I've just changed our style sheet generator to using gulp.
Took me 10 minutes to learn what to do (just css preprocessing with prefixes).
Grunt was horrid. We had it because the last guy thought "something new, I'll use this now", and it's never changed because no one understands it. Even after a few hours research.
To me, programming, designing systems, reviewing work, it's all easy.
Perhaps that's because of the challenge I've set myself. To find a like minded that I can get to know
Today I spent a long hour working out how to assign a lead to a queue in apex (salesforce).
You can't just assign it, you need go make a setup entry in the database first to mark the group as a queue.
But wait, you can't actually do that in the same context as making the group, so you have to make a subprocess, and mark it as a queue in that.
None of this is documented.
Screw you, SalesForce.2
Our developer who normally deals with all the staff enquiries is going to be working remotely from now on.
I'm not complaining or anything, he's a great guy. But being able to focus on our projects is gonna go through the floor.
It effectively makes us 2 men down in a 3 man team
To those that think they can't make it.
To those that are put down by those that don't understand you.
And to those that have never had a dream come true.
Not a rant, but the story of how I got into programming
I've always been into tech/electronics. I remember being told once that when I was 3, I used to take plug sockets to pieces. When I was 7, I built a computer with my dad.
There isn't a thing in my room that hasn't been dismantled and put back together again. Except for the things that weren't put back together again ;)
When I was 15, I got a phone for Christmas. It was a pretty crappy phone, the LG P350 (optimus ME). But I loved it all the same.
However I knew it could do a lot more. It ran a bloated, slow version of Android 2.2.
So I went searching, how can I make it faster, how to make it do more. And I found a huge community around Android ROMs. Obviously the first thing I did was flashed this ROM. Sure, there were bugs, but I was instantly in love with it. My phone was freed.
From there I went on to exploring what else can be done.
I wanted to learn how to script, so over the weekend I wrote a 1000 line batch (Windows cmd) script that would root the phone and flash a recovery environment onto it. Pretty basic. Lots of switch statements, but I was proud of it. I'd achieved something. It wasn't new to the world, but it was my first experience at programming.
But it wasn't enough, I needed more.
So I set out to actually building the roms. I installed Linux. I wanted to learn how to utilise Linux better, so I rewrote my script in bash.
By this time, I'd joined a team for developing on similar spec'd phones. Without the funds to by new devices, we began working on more radical projects.
Between us, we ported newer kernels to our devices. We rebased much of the chipset drivers onto newer equivalents to add new features.
Well, it was exam season. I was suffering from personal issues (which I will not detail), and that, with the work on Android, I ended up failing the exams.
I still passed, but not to the level I expected.
So I gave up on school, and went head first into a new kind of development. "continue doing what you love. You'll make it" is what I told myself.
I found python by contributing to an IRC bot. I learnt it by reading the codebase. Anything I didn't understand, I researched. Anything I wanted to do, google was there to help me through it.
Then it was exam season again. Even though I'd given up on school, I was still going. It was easier to stay in than do anything about it.
A few weeks before the exams, I had a panic attack. I was behind on coursework, and I knew I would do poorly on exams.
So I dropped out.
I was disappointed, my family was disappointed.
So I did the only thing I felt I could do. I set out to get a job as a developer.
At this stage, I'd not done anything special. So I started aiming bigger. Contributing to projects maintained by Sony and Google, learning from them. Building my own projects to assist with my old Android friends.
I managed to land a contract, however due to the stresses at home, I had to drop it after a month.
Everything was going well, I felt ready to get a full time job as a developer, after 2 years of experience in the community.
Then I had to wake up.
Unfortunately, my advisors (I was a job seeker at the time) didn't understand the potential of learning to be a developer. With them, it's "university for a skilled job".
They see the word "computer" on a CV, they instantly say "tech support".
I played ball, I did what I could for them. But they'd always put me down, saying I wasn't good enough, that I'd never get a job.
I hated them. I'd row with them every other day.
By God, I would prove them wrong.
And then I found them. Or, to be more precise, they found me. A startup in London got in contact with me. They seemed like decent people. I spoke with their developers, and they knew their stuff, these were people that I can learn from.
I travelled 4 hours to go for an interview, then 4 hours back.
When I got the email saying they'd move me to London, I was over the moon.
I did exactly what everyone was telling me I couldn't do.
1.5 years later, I'm still working with them. We all respect each other, and we all learn from each other.
I'm ever grateful to them for taking a shot with me. I had no professional experience, and I was by no means the most skilled individual they interviewed.
Many people have a dream. I won't lie, I once dreamed of working at Google. But after the journey I've been through, I wouldn't have where I am now any other way. Though, in time, I wish to share this dream with another.
I hope that all of you reach your dreams too.
Sorry for the long post. The details are brief, but there are only 5k characters ;)23
A lot of the work I do is actually done from an 8" tablet.
The issue is, the last decent one was released nearly 2 years ago.
Hoping for something coming out at CES!
I dislike holidays since I often get bored. Tempted to get a train back home and go to work, just for something to do1
When you want to move your site off of jQuery, but all the dependencies still use jQuery.
Also screw those services that write their client code with jQuery. Screw you all!2
When I run tests, I like to enable the debug logging. All the SQL queries and template tracing just flies by. Freaks the others out.