Details
-
AboutAndroid and front end developer
-
SkillsAndroid, reactjs, ionic, angularjs
Joined devRant on 11/23/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
-
Android development is like:
- 30% of the time is coding & debugging
- 70% of the time is waiting for Gradle to build16 -
Sometimes I'm lazy and if I'm writing unit tests and there's a complicated case to test I'll just skip it.15
-
My first job: The Mystery of The Powered-Down Server
I paid my way through college by working every-other-semester in the Cooperative-Education Program my school provided. My first job was with a small company (now defunct) which made some of the very first optical-storage robotic storage systems. I honestly forgot what I was "officially" hired for at first, but I quickly moved up into the kernel device-driver team and was quite happy there.
It was primarily a Solaris shop, with a smattering of IBM AIX RS/6000. It was one of these ill-fated RS/6000 machines which (by no fault of its own) plays a major role in this story.
One day, I came to work to find my team-leader in quite a tizzy -- cursing and ranting about our VAR selling us bad equipment; about how IBM just doesn't make good hardware like they did in the good old days; about how back when _he_ was in charge of buying equipment this wouldn't happen, and on and on and on.
Our primary AIX dev server was powered off when he arrived. He booted it up, checked logs and was running self-diagnostics, but absolutely nothing so far indicated why the machine had shut down. We blew a couple of hours trying to figure out what happened, to no avail. Eventually, with other deadlines looming, we just chalked it up be something we'll look into more later.
Several days went by, with the usual day-to-day comings and goings; no surprises.
Then, next week, it happened again.
My team-leader was LIVID. The same server was hard-down again when he came in; no explanation. He opened a ticket with IBM and put in a call to our VAR rep, demanding answers -- how could they sell us bad equipment -- why isn't there any indication of what's failing -- someone must come out here and fix this NOW, and on and on and on.
(As a quick aside, in case it's not clearly coming through between-the-lines, our team leader was always a little bit "over to top" for me. He was the kind of person who "got things done," and as long as you stayed on his good side, you could just watch the fireworks most days - but it became pretty exhausting sometimes).
Back our story -
An IBM CE comes out and does a full on-site hardware diagnostic -- tears the whole server down, runs through everything one part a time. Absolutely. Nothing. Wrong.
I recall, at some point of all this, making the comment "It's almost like someone just pulls the plug on it -- like the power just, poof, goes away."
My team-leader demands the CE replace the power supply, even though it appeared to be operating normally. He does, at our cost, of course.
Another weeks goes by and all is forgotten in the swamp of work we have to do.
Until one day, the next week... Yes, you guessed it... It happens again. The server is down. Heads are exploding (will at least one head we all know by now). With all the screaming going on, the entire office staff should have comped some Advil.
My team-leader demands the facilities team do a full diagnostic on the UPS system and assure we aren't getting drop-outs on the power system. They do the diagnostic. They also review the logs for the power/load distribution to the entire lab and office spaces. Nothing is amiss.
This would also be a good time draw the picture of where this server is -- this particular server is not in the actual server room, it's out in the office area. That's on purpose, since it is connected to a demo robotics cabinet we use for testing and POC work. And customer demos. This will date me, but these were the days when robotic storage was new and VERY exciting to watch...
So, this is basically a couple of big boxes out on the office floor, with power cables running into a special power-drop near the middle of the room. That information might seem superfluous now, but will come into play shortly in our story.
So, we still have no answer to what's causing the server problems, but we all have work to do, so we keep plugging away, hoping for the best.
The team leader is insisting the VAR swap in a new server.
One night, we (the device-driver team) are working late, burning the midnight oil, right there in the office, and we bear witness to something I will never forget.
The cleaning staff came in.
Anxious for a brief distraction from our marathon of debugging, we stopped to watch them set up and start cleaning the office for a bit.
Then, friends, I Am Not Making This Up(tm)... I watched one of the cleaning staff walk right over to that beautiful RS/6000 dev server, dwarfed in shadow beside that huge robotic disc enclosure... and yank the server power cable right out of the dedicated power drop. And plug in their vacuum cleaner. And vacuum the floor.
We each looked at one-another, slowly, in bewilderment... and then went home, after a brief discussion on the way out the door.
You see, our team-leader wasn't with us that night; so before we left, we all agreed to come in late the next day. Very late indeed.9 -
That moment when the you actually think that this huge refactoring isn't worth it, but you do it anyway so you can live with yourself...
Code quality is love. Code quality is life.1 -
Just applied for this job and I had to share it here, really cool and fun concept :)
http://careers.qpercom.ie/4 -
FOR THE LOVE OF GOD STOP OVERUSING STYLES.XML IN ANDROID.
It is NOT A GOOD IDEA to create a new style for each and every layout and then RANDOMLY reuse those styles in RANDOM places.
Grep is working around the clock to solve this fucking hot mess you've made.
FFS1 -
I know this is the problem that I need to work it out. But still I would like to share with you guys here.
I start to feel bored after working in current company for 5+ years. I love my colleagues, I love my job actually. But after 5 years, I start to feel that there is nothing much I can learn from working in this company. And that really makes me feel uncomfortable.
So I get on LinkedIn to search and apply new jobs, I think it's good to talk with experts from other companies, to know more about what's happening in world. And perhaps to find a new opportunity.
Then I happens to find a startup which is doing something fits my background, and more advance. I feel like I will learn a lot working there.
The startup is also very interested in me. So the CEO and me have a quick chat on Skype 3 days after my application. We talked a lot and feel right to each other. Which I think I am highly possible to be hired. I am really exciting.
But later, I just hesitated. Because it is an Europe company and I am born and live in Asia. Going there may sacrifice time with my family and my friends. I am afraid I can not fit in at new company. I don't even 100% sure that I will like most of the things at new company.
I know I need to make decision on my own career. I just want to share the story, it makes feel less anxious. I am talking to my manager (which is my good friend) today. I hope everything go well.7 -
Rant (that's kind of unusual here these days): can you please stop writing "code" as a rant? It's not witty, it's not original, it's not funny anymore, hasn't been since first year of college, it's not impressing anyone here.
I mean... printf("Happy new year\n");... Does anyone find it funny? Couldn't anyone here come up with that?
It only makes you look like you're 17 and trying to make a statement like "look at me, I'm so fluent at pro9ramm1n9, such a 1337!"
/rant7 -
Interviewer: "Show me a cool side-project you have been working on!"
Me: "No! I do not have a cool side-project to show you! I work to pay the bills, and do other things in my spare time! Like go fishing, or play video games. Why the fuck are you assuming that I spend my weekends coding for fun!? Do you call random people asking them questions every Saturday and Sunday just for the LOLs of it?"36 -
Just saw a rant about date formats between the US and every other country and saw this a few years ago. Seems appropriate26
-
Yesterday: Senior dev messages out a screenshot of someone using an extension method I wrote (he didn’t know I wrote it)..
SeniorDev: “OMG…that has to be the stupidest thing I ever saw.”
Me: “Stupid? Why?”
SeniorDev: “Why are they having to check the value from the database to see if it’s DBNull and if it is, return null. The database value is already null. So stupid.”
Me: “DBNull is not null, it has a value. When you call the .ToString, it returns an empty string.”
SeniorDev: ”No it doesn’t, it returns null.”
<oh no he didn’t….the smack down begins>
Me: “Really? Are you sure?”
SeniorDev: “Yes! And if the developer bothered to write any unit tests, he would have known.”
Me: “Unit tests? Why do you assume there aren’t any unit tests? Did you look?”
<at this moment, couple other devs take off their head phones and turn around>
SeniorDev:”Well…uh…I just assumed there aren’t because this is an obvious use case. If there was a test, it would have failed.”
Me: “Well, let’s take a look..”
<open up the test project…navigate to the specific use case>
Me: “Yep, there it is. DBNull.Value.ToString does not return a Null value.”
SeniorDev: “Huh? Must be a new feature of C#. Anyway, if the developers wrote their code correctly, they wouldn’t have to use those extension methods. It’s a mess.”
<trying really hard not drop the F-Bomb or two>
Me: “Couple of years ago the DBAs changed the data access standard so any nullable values would always default to null. So no empty strings, zeros, negative values to indicate a non-value. Downside was now the developers couldn’t assume the value returned the expected data type. What they ended up writing was a lot of code to check the value if it was DBNull. Lots of variations of ‘if …’ , ternary operators, some creative lamda expressions, which led to unexpected behavior in the user interface. Developers blamed the DBAs, DBAs blamed the developers. Remember, Tom and DBA-Sam almost got into a fist fight over it.”
SeniorDev: “Oh…yea…but that’s a management problem, not a programming problem.”
Me: “Probably, but since the developers starting using the extension methods, bug tickets related to mis-matched data has nearly disappeared. When was the last time you saw DBA-Sam complain about the developers?”
SeniorDev: “I guess not for a while, but it’s still no excuse.”
Me: “Excuse? Excuse for what?”
<couple of awkward seconds of silence>
SeniorDev: “Hey, did you guys see the video of the guy punching the kangaroo? It’s hilarious…here, check this out.. ”
Pin shoulders the mat…1 2 3….I win.6