Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Mobile Hell

I've been trying to write a mobile app for about 5 years. What a fucking joke. Nobody even uses apps anymore.

I mean, sure, we use a few. But what was the last app you downloaded that you regularly use? Probably Facebook or Twitter. Probably not Billy Joe's Bait Shack app. You just go to his fucking website.

Anyway, my company wants an app. It kind of makes sense, and I can certainly do some cool things. But I'm inheriting an app that was already half-assed, and now I have to make it work. I am running
into so many problems.

So here's the specs:

It's an Apache Cordova app with some native parts to Android and iOS. The only other technologies are Backbone.js and Require.js. But it's also about 4 years old and age has not treated it well. And
I'm finding that the tutorials for Cordova apps are shit. So I'm going to try to follow one and see how far I get before I lose my shit.

I am here: https://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html. Please follow along.

I already have Cordova, so I'll update:


        $ npm update -g cordova

That worked.

Ok, now I'll create my sample project:


        $ mkdir workshop
        $ cordova create workshop com.blah.workshop Workshop

        Error: Cannot find module 'config-chain'

Uhh. Ok.


        $ npm install -g config-chain
        $ cordova create workshop com.blah.workshop Workshop

        Error: Cannot find module 'umask'

Ok, I see where this is going.


        $ npm install -g umask
        $ npm install -g npmlog
        $ npm install -g uid-number
        $ npm install -g which
        $ npm install -g npm-registry-client
        $ npm install -g chownr
        $ npm install -g dezalgo
        $ npm install -g npm-cache-filename
        $ npm install -g char-spinner

        Creating a new cordova project.

Finally! Now I can create my Android platform.


        $ cordova platforms add android

        Error: Failed to fetch platform android
        Probably this is either a connection problem, or platform spec is incorrect.
        Check your connection and platform name/version/URL.
        Error: Cannot find module 'path-is-inside'

OMFG. More.


        $ npm install -g path-is-inside
        $ npm install -g fs-vacuum
        $ npm install -g async-some
        $ npm install -g fs-write-stream-atomic
        $ npm install -g fstream-npm
        $ npm install -g sha
        $ npm install -g normalize-git-url
        $ npm install -g realize-package-specifier
        $ cordova platforms add android

Finally that's done. Now we can move on with the tutorial.


        $ cordova plugin add org.apache.cordova.device
        Error: Registry returned 404 for GET on https://registry.npmjs.org/org.apache.cordova.console

You have got to be fucking kidding me. Thankfully, Andre had a useful comment:

For point 8, replace:

cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console

with:

cordova plugin add cordova-plugin-device
cordova plugin add cordova-plugin-console

That worked.


        $ cordova build android --verbose

Now, I SHOULD be able to run this directly on my plugged in mobile device. I mean, it shows up in chrome://inspect/#devices.


        $ adb devices

No devices show up. It says I probably need the USB drivers, but I supposedly have them. So I guess I'll have to copy the file to my phone manually.

But you know what? That works!!!! Thank the fuck Christ. That gives me a Hello World. Now for the hard part...

User Journal

Journal Journal: Idea For a Bar

I was on the bus on my way to school and I thought of this great idea for a bar. So I'm going to write it down here so someday when I'm rich enough, I can make it happen.

I'd call it The Library, or something similar, and it would be almost a literal library.

The inside would be similar to the New York Public Library, with green lamps on desks. There would be actual books there, but like the old looking ones.

Here's the best part: The basement (cause there has to be a basement) would be the quiet section for people who actually want to study. We'd have coffee, and of course beer, wine, and cocktails. And here's the other kicker - I would have a broad range of prices. Cheap PBR and whiskey for the budget conscious, and higher end cocktails for people who want to feel fancy.

Oh, and there should be a "call" button for the waitresses so they're not always coming down and bothering you. (Why don't we have these already?!)

I would use data science to select the right building, market, handle the finances, etc. I would need a partner on this, someone who can run a bar. I just want to finance it and make my dream a reality. But I guess I need some money first. hrm. I'll come back to this when I have some of that.

User Journal

Journal Journal: Gets Worse

At least it seems like things are getting worse.
My weekend started off with annoyances by our architect on Friday. He was so goddamn worried about how we were going to format our code. He's contacted me on at least 6 different occasions every time it was brought up. He's so worried I'm going to throw some crazy book of rules at him. For fucks sake. I just want it to be formattable and not looking like shit.

And then another fuckhead at the company I'm consulting for made some stupid comment about me being a Millennial when I said I didn't have a car. What the fuck does that even mean? That we're breaking from the Baby Boomer and Gen X trends of destroying our planet and making better decisions about how we consume? Fuck you asshole. Of course he drives a Benz SUV. What a cock.

So that went with me into my weekend. Then I spent the day sharing the apartment as study space with my ever-increasingly disgruntled girlfriend. Her shit is getting tough, so now she's starting to crack. I can't fucking deal with this. Today, I started the day off with her calling me because she got pulled over by a cop because she was driving in the left lane on the interstate, but there were people in the right lane so she couldn't pull over. He flashed his lights at her and she didn't know he just wanted her to get out of the way, so she pulled on to the left shoulder, which is illegal. So he ticketed her for driving in the left lane and asked her where she learned to drive. Thanks asshole, for setting my day off wrong. Fuck the police if they're going to be unprofessional assholes.

Then she failed her patho-phys test and her teacher called out her Meniere's in front of the class. So I've been trying to assuage her feelings of uselessness once again and telling her that quitting is not an option. Fuck me. I don't know how many times I've had to do this. It felt like 2015 was this, and only this, over and over. But for a while, I felt like we were coming out of it. But I guess it's always going to be there, rearing its ugly head. Fuck all this.

I know, there's not much tech stuff here. Sometimes I just need a journal to rant in. I'm trying to figure out a bunch of shitty unit tests that aren't unit tests. They're all integration tests, and not even half of them pass. So I'm also dealing with that. There. Tech.

Alright, I'm out. Just wanted to bitch.

User Journal

Journal Journal: Quick-ish Rant

I feel the need to rant.

I am drunk, and this time it's not for "just because!".

We have a new architect (who is not me) and he has been spraying his scent everywhere to stake his claim. Outright, I can't say it's bad. He's ushering in TDD (which I am iffy about, given our limited time to market), collaboration (because he's remote), and some poorly thrown jabs at me, that I assume were meant to be humorous but as I already mentioned, they fell flat on the floor.

I don't know how to feel. On the one hand (the pro-YAY, NEW ARCHITECT THAT IS NOT GOING TO FUCK THIS UP hand), I'm ok with it. Ya know, it can't be worse than how it's been. We got rid of our worst asshole. So what am I worried about? Well, he's not at all cognizant of our current environment. And a large part of me says "OOOhhhh, so you're basically a big pussy who can't accept change!? OooooOhhhhhHHHHH!!!! FUCK YOU." Thanks, dick-me. Back atcha. But really, dick-me has a point.

It's hurting my sensitive little feewings a bit, and it's disrupting my day-to-day habit. So that's bothering me. It also kind of bothers me that this dude rolls in without giving much fuck to what we've already built. Maybe that's what's driving me the most nuts. C'mon, man. You can't roll into the Taj Mahal and say, "Wow. This needs redone. Let's start here..." which is pretty much how I feel this is going.

But I'm in a pretty precarious spot. I am trying to get through this Master's program, so I need things stable. I can't be rocking boats, and obviously, there aren't many boats on my side of the navy. So I guess I need to bite my lip. It's really not all bad, he has good experience, and honestly, I think in any other situation, I would value it a lot.

I just hate the feeling of a storming general coming in and telling me what to do. Because that feels like the "president" has decided that I am not fit to command and would be better suited to sit on the sidelines and follow orders. That's where my frustrations lie.

And probably will for a while.

Ok, drunk guy going to bed to get bossed around tomorrow by some dude he could probably be. Whatever.

User Journal

Journal Journal: You Can Chat in Hell

Back in late November of 2015, I was tasked with coming up with an instant messenger solution that our partners could use to communicate with our operators. That sounds pretty simple. Everyone uses IM and has for over 20 years. And Slack and HipChat are massively popular.

Here's where they start throwing wrenches into my plan. Any third party server is not allowed. Law does not want our conversations stored on third party servers, and security doesn't either. So that scratched off my obvious answer. We use Sametime as a company, and there is an external option for that, but security also denied that stating that then an external user would have visibility to the entire company and could potentially IM, say, our CEO. Ok, so there goes that too.

You know where I'm going next with this, right? Roll our own XMPP server, of course!

Ahh, XMPP. I have had a fondness for it since Google Talk came out. An open protocol that seems to work pretty well and has a lot of users. Ok, so we have a starting point. Now what.

Well, the next step was to figure out how easy it would be to host a server. We basically have 3 options. There's ejabberd, an Erlang-based server that's been around the longest. I like it, but we don't have a lot of Erlang developers (which is sad, because I also like Erlang. So it goes). There's Prosody, which is kind of a KISS model written in Lua. I liked it too, but it wasn't very Enterprisey. Then there's Openfire. Java-based? Check. Plugin architecture? Check. Mature? Very!

Openfire looked very intriguing when I started looking at it. Of course, being enterprisey, it's a lot heavier than something like Prosody. Which means it has a steeper learning curve. But you take the good with the bad.

So I pitched my idea to Legal. They said we have to archive messages for a certain time period, which I can do with this server. It can archive to Oracle. Perfect. Then I talked with security. My initial solution was to use Strophe.js to connect directly to Openfire. They put the kabosh on that when they saw that users would be unauthenticated in our DMZ. I walked away from that meeting a little perplexed. After educating myself on our architecture a little more, I dug around for a SiteMinder module. There was none. But, there is a webchat interface called Fastpath. It allows you to run helpdesk operations. That's my ticket. Because then they would be operating within our standing operating procedures, just like any other app.

This thing is ugly, and hasn't been given a good enhancement in about 10 years. So now I take that challenge on. More to come on that.

Once I overcame the architectural hurdles, then I had to start working with our infrastructure teams. This required an ungodly amount of requests. Oracle, server planning, application IDs, Linux guys, Apache rules, change management... I think I worked with just about every team in the company to get this done.

I've made a lot of progress though over the last month and I'm ready to go to production next week. I AM STOKED. I've been saving a cigar for just such an occasion. But next comes the hard part. I will need to start developing on this decade-old code. I have a user-request to add group chat, which is not at all what this thing is meant for. But even before that, I need to fix security issues and add SiteMinder integration. I don't think any of this is going to be a walk in the park. On the other hand though, it does sound fun! And I'm giving back to open source, which I love doing.

I'm omitting a lot of the trials and tribulations I went through when setting this all up, but I'll probably just put that in some internal documentation.

I'm just ready for a cigar.

User Journal

Journal Journal: The Streaming Data of My Consciousness

First of all, why is the "Write in Journal" button at the goddamn nether reaches of Slashdot? Are you trying to get me to not write my thoughts here? Too fucking bad. I've been doing it for over a decade, so deal with it.

This post will be largely drunken and angry and in a stream of consciousness style because I am drinking, angry, and don't care. I mean, most of my posts are stream-o-consciousness posts, but I am not always drunk. I'm actually not drunk... yet. I'm working on it. Drinking a LeatherheadRed which is quite delicious, and I took a shot of Evan Williams right when I got home because, well, that's where I'm at.

The Lady asked for more money to buy school books today. I don't think it would bother me as much if she just said, "heyyyy, I might need $500 for books. Can you swing that?" Rather than, "So I might need money for books." Me: "How much." Her: "I just hate how they do this. I hate not contributing. blah blah blah." None of that helps. In fact, it just makes me angrier. Just tell me what you need so I can figure it out. Right now, I'm still living on 401(k) loan money. The stupidest loan I've taken out, but what choice did I have. It is keeping me off of credit cards, but is in effect, decreasing my retirement significantly, and tying me to the company that I would like to have the option to leave.

This goddamn company, man. Stock is dropping. They're predicting another shitty year in 2016. For FUCKS SAKE. THIS IS NOT THE TIME. Everything else seems like it's falling apart. And what bothers me probably most right now is that I'm having trouble on my last homework in Probability Models. We're doing Renewal Theory, and shit got hard. All out of nowhere, everything was like, "Hey! We heard you've been doing well! We're here to fuck that up for you!" I have to turn it in tomorrow. I could turn it in and take a hit on it, which would keep me at a low A, high B, but for one thing, I want the A. And another, at least one of the problems on this homework is on our final, which is worth a shitton, so I HAVE to understand it regardless. So that, on top of realizing I spent over $600 on chameleons that we had to take to the Humane Society because the cats kept fucking with them.

Just came back from a break. I checked Facebook. That was a mistake. Read some bullshit about Nassim Taleb hating on GMOs. Goddamnit, nobody is good. Everyone has a part of them I will hate. Maybe that's just life. I'm sure there's things you'd hate about me (least of all my writing). I guess that just gives me more of a stance to take while reading Antifragile. The book overall is quite good and inspiring, but some of it must be taken with a grain of salt, or from a certain context. Like when he says that nothing good comes from universities, but rather from tinkering and hobbyists. Well, that's true for the big things (think the automobile, Microsoft, Facebook, etc), it's not true in general. But that's not what Taleb deals in. He deals in Black Swans - unforeseen groundbreaking events - good and bad, in which case, scientists being wrong about GMOs (lots and lots of scientists... lots) would be a Black Swan. Still, he puts the burden of proof on the scientists to prove that he is wrong. And that is not good skepticism or science. If you're bringing the skepticism, you better have science on your side. Unfortunately for Taleb, it is not. Can't get behind him on that one. Also, he resorts to name calling. That's pretty sad for a well-respected best selling author and academic. :/

Well anyway. My sister is badgering me to do her statistics homework. I partially want to to see if I can do it without remembering much from Prob & Stats I, but I also know I have a lot of shit to do and she's not learning anything if I do it for her. So I told her I'd give her an hour for questions. I have my own final to do! I'm genuinely stressed about this now. I want to do well. I want an A. For the first time in my academic career, an A matters to me. Demonstrable understanding of a topic matters to me. I want to be able to say, Yes, I took Probability Models. I can show you how to do Renewal Theory.

Alright, I'm gonna watch some 'flix and hit the sack. Peace. Hope you enjoyed the stream.

User Journal

Journal Journal: As the Path is Revealed, the Map Gets Bigger

I've been on the Data Science road for about 5 months. I initially became intrigued by the idea of Data Science on January 5th, 2015. This came about when I inquired about starting my master's degree in mathematics and was informed about a concentration in Data Science. "What is Data Science?" I wondered. So I started looking into it.

Here's my initial thought progression over time:

"I have no idea what that is"

"Sure looks trendy!"

"I bet this is one of those things everybody and their dog will want to do but without having the math chops to really be good... just like developers."

"Ooohhhhhh, look at all these tools! Hey! I've heard of a lot of these! Hadoop! CouchDB! MongoDB! Ummm, Spark? Dremmel? Spanner? Voldemort?! Where does this list end?!?!?! This must be Data Science!"

"Oh, so Data Science is an umbrella term. Underneath that is Predictive Analytics, Machine Learning, Data Engineering, Data Architecture, Computer Vision, Natural Language Processing [list goes on]. Ok, so we're back to Computer Science."

Me now: "Why don't they just call it Data-centric Computer Science?" "Because it's not catchy enough and it wouldn't pay as well." Oh yeah.

So we've come full circle. It's always been Computer Science. Some of us just took more math classes. All of those tools I mentioned in my post Dear Gournal have as much to do with data science as Matlab has to do with Mathematics. You wouldn't say Matlab is Mathematics. You would say Matlab is a Mathematical tool. In the same way, all of those technologies are Data Science tools, but they are not Data Science. I'm glad I'm realizing that now.

I'm almost through with my Probability Models class. I am somehow riding on a low A, and hope to finish strong, but the latest lessons on Poisson Processes and Renewal Theory are clouding my head. Still, it's been a very good class. Now I know what actuaries do! And I know I do not want to be one. Still, probability will never not be useful. It is at the core of what I want to do. AI, for example, is heavily based on prob. DS which is heavily stats based, is inherently prob based as well. Predictive Analytics, for example, would be impossible without probability theory. I hope to bring some of that to the table. Next semester, I'm taking Prob & Stat II. I think this class prepared me pretty well for it.

But while I now realize what Data Science is more or less, it only makes me realize how much I don't know. It's not as simple as learning a few tools and technologies. It's about learning the fundamentals of statistical analysis and probability, and then the things that build on that, like machine learning and predictive analytics. I'm excited and scared at the same time. It's terrifying if you try to eat the elephant in one bite. So I'm trying to take it a byte at a time, starting with the toe.

In my spare time, I'm working on a sports database, and a statistical analysis of a fantasy prognosticator. I've finally got the database together, and now I'm working toward the guru analysis. It's taken a little over a month, and I'm guessing will take another month to finish up, but I'm proud of it nonetheless. It's stupid but has been a fun exercise in Data Science.

Not much has changed at work except that I now have a project, finally. I am tasked with bringing Instant Messaging to the company. I mean, we already have IM, but it's internal only. This has to be internal AND external. So I'm rolling with XMPP. At least I hope. I have a meeting with our security team tomorrow to discuss the feasibility (security-wise, not technical). I think it's going to be a fun project. I'm planning on rolling with OpenFire. Should be pretty straightforward.

Anyway, that's it for now. Gonna go read more Anti-Fragile.

User Journal

Journal Journal: Year of the Black Swan

I'm reading Anti-Fragile, a book by Nassim Taleb, who also wrote a book called the Black Swan. I haven't read that one, and I'm thinking I should now, although he talks a lot about Black Swans in Anti-Fragile. A Black Swan is a disaster of levels previously unseen. Things like the 2008 financial meltdown, the Fukushima nuclear disaster, or Hurricane Katrina. In most Black Swan cases, people are only prepared for what they have seen, or what lies along the mean of the normal distribution. They don't plan on outliers, even though outliers are what destroy lives.

I thought 2013 was a bad year, because I couldn't do a lot of the things I wanted to do because I had six weddings to be in, which essentially drained my vacation time and my bank account. I am a major opponent of weddings because of that year. Fuck your wedding. But more on topic, I didn't think 2014 could be that bad, but knew that if it was, I could endure it. But I made the mistake in the assumption that 2013 was the worst it could get. 2014 proved to be even worse due in large part to my girlfriend moving in and bringing her horrible attitude at the time with her (that was due almost entirely to her job situation). It was a year fraught with sickness, strife over a troublesome dog that she did not want to let go of, an apartment complex under construction for 7 months, complete with an unbearable drilling and jackhammering into the walls that made sleeping impossible for her, a few near-breakups, and more sickness.

And then when things started to clear up - she got into anesthesia school, we got rid of the dog, they finally finished construction - another Black Swan. She was diagnosed with Meniere's Disease. Something that could be devastating for not only her career but her life. We've been living with it, and managing it, and she got into school. But as the Black Swan principle dictates, the worst is yet to come.

Now she is failing school. If she can't find a way to pull her grades up, the $100,000+ gamble will have gone to the house and I possibility of getting out of debt in a swift few years on good anesthesia pay will have been but a fantasy, and I'll be paying off debt well into my 40s.

This is a lesson I will take with me for the rest of my life. The Black Swan is very real. And the fragility that I have subjected myself to, has made everything so much worse. I took out a $25k Upstart loan last year. I'm already through that money. So I took out a $20k 401(k) loan. That made things even worse. I can't quit my job (or lose it!) because I will owe that money immediately back. On top of it, I've stopped contributing to my retirement fund. Again, fragile.

I'm in such a bad position, and it is mostly because of this high stakes gamble. If she can't pull through, then we are more or less fucked. I still don't know what to do. I don't really have a choice anyway. I am trapped in this fragile nightmare, at the whims of the Black Swan. Yesterday, she got a nail in her tire, which I took into the repair shop, and of course, they didn't have her size. So, to avoid her having to ride with her classmates (she can't stand being around them), I rented her a car. I don't love spending that money, which essentially doubled the cost of the tire, but more so, I didn't opt for the insurance or adding a driver. My Black Swan mind scolded me the entire drive home. A wrecked car, with her driving would be the biggest disaster yet, which is the definition of a Black Swan. Yet I didn't stop to correct it before driving away. And this is how the Black Swan thrives. It preys on those who are not robust or anti-fragile. And so, until I return it hopefully later today, I have to hope that that gamble does not result in a disaster.

And then I have to worry about the bigger impending Black Swan. The fact that she has to get a 91% on her final in order to pass her anesthesia class. We are probably just fucked.

User Journal

Journal Journal: Sick of Being With the Sick

This won't be a very tech-y post. I just need to vent. I thought, maybe, JUST MAYBE, the end of 2014 would be the end of all of our problems. But then 2015 comes along and it turns out, it is trying to one-up 2014. I'm talking about illness. My girlfriend has somehow, since 2014, went from being completely healthy, to being one of the most fragile people I have ever known.

Let's break down the numbers.

2014-01-02: Gastroenteritis - ER visit
2014-03-02: Tamarind allergy discovered - ER visit
2014-05-11: Sick (cold or something)
2014-06-01: Sick (cold or something)
2014-08-21: Tamarind allergy from Mexican food - ER visit
2014-08-22: Bad reaction to steroids from Tamarind allergy - ER visit
2014-08-24: Still having reactions from the steroids, mistook it for thyroid problems - ER visit
2014-11-20: Began having Meniere's episodes, though didn't know what it was
2014-11-21: Began having Meniere's episodes, though didn't know what it was
2014-11-22: Began having Meniere's episodes, though didn't know what it was
2014-11-23: Began having Meniere's episodes, though didn't know what it was
2014-11-24: Began having Meniere's episodes, though didn't know what it was
2014-11-25: Began having Meniere's episodes, though didn't know what it was
2014-11-26: Began having Meniere's episodes, though didn't know what it was
2014-11-27: Began having Meniere's episodes, though didn't know what it was
2014-11-28: Began having Meniere's episodes, though didn't know what it was
2014-11-29: Began having Meniere's episodes, though didn't know what it was
2015-02-12: Meniere's episode
2015-04-11: Meniere's episode
2015-05-08: TMJ
2015-05-15: Swollen lymph nodes
2015-05-16: Swollen lymph nodes
2015-05-17: Swollen lymph nodes
2015-05-18: Swollen lymph nodes - ER visit
2015-06-01: Cold
2015-06-11: Meniere's episode
2015-06-25: Meniere's episode
2015-07-05: Meniere's episode
2015-07-09: Meniere's episode
2015-07-18: Meniere's episode and stomach ache
2015-07-19: Stomach ache
2015-07-26: Meniere's episode
2015-07-31: Meniere's episode
2015-08-02: Meniere's episode
2015-08-03: Meniere's episode
2015-08-09: Meniere's episode
2015-08-12: Meniere's episode
2015-08-14: Meniere's episode
2015-08-18: Meniere's episode and cold
2015-09-11: Meniere's episode
2015-09-12: Meniere's episode
2015-09-13: Meniere's episode and stomach ache
2015-09-14: Stomach ache - ER visit
2015-09-20: Meniere's episode
2015-10-06: Meniere's episode
2015-10-11: Stomach ache
2015-10-12: Stomach ache
2015-10-13: Stomach ache
2015-10-14: Stomach ache
2015-10-15: Stomach ache

Those are just the days I documented. There are countless others where she just didn't feel good because of Meniere's or whatever, and times she didn't even tell me she wasn't feeling good. But from just those days alone, since January 1st, 2014, she has been ill 7.5% of the time (see, at least I'm including a little data science in here). That is a horrible batting average. That's averaging out to be almost a month of illness per year. I'd be stoked if I got that much vacation time! And it is terrible quality of life. And just when she was adjusting to the Meniere's and starting to figure out how to somewhat control it, she gets hit with this GI thing. Of course the doctor's don't want to even try to figure out what it might be. They just mumble something about IBS and walk out. Fuck our health care system. I think we should start calling it a "health don't-care" system. They only things they seem to be concerned with is passing out antibiotics, operating on people for things that could have been prevented in the first place, and fixing erectile dysfunction, which, God knows, is the world's biggest problem. For fuck's sake.

The stress this brings on me is causing me health problems too. My hair has thinned out a lot in the last 2 years (though, some of that can be blamed on my line of work), and a gigantic cold sore just reared its ugly head. And lord only knows what I'm doing to my liver to cope with the stress. I don't know what I need. I briefly fantasized about buying a one-way plane ticket to the Virgin Islands and just disappearing. Why there? I dunno, first place I thought of that was far away and didn't need a Visa. Maybe I could be homeless for a while. Start with some manual labor, working my way up to owning my own business, and bang lots of tourists. And then the cold reality of my life slaps that fantasy out of my head. Plus, it would just make her life harder, and I would never want that. She deserves so much better than what she is getting.

I don't know what to do at this point. I'm running out of positive affirmations. For myself included.

Sorry for the personal garbage. I thought it might feel good to just get out in words, but I'm not sure if it is helping or just confirming what I already thought. Anyway. Off to a stupid meeting where more people will probably just piss me off.

User Journal

Journal Journal: I Hope the World Burns

There's a scene from Nickelodeon's Salute Your Shorts I remember where Donkeylips and Spud were assigned to trash pickup duty and Donkeylips wasn't going to make weight to go to a wrestling tournament or something, and it all boiled down to him probably not getting to go eat some delicious lobster. I don't know why I remember this so vividly, but I guess it has always stuck in the back of my mind. In that scene, the trash bag rips open and all the trash they had collected starts blowing all over and Donkeylips says, "Garbage! My life is garbage!"

I feel like that lately.

This entire year has been nothing but rejections and watching my career sink. It started with not getting the architect job. I have since considered this blessing in disguise (not the paycheck part), as the action of that rejection caused an equal but opposite reaction in the opposite direction of Data Science. Now, while it is cool that I was spurred in that direction, there's literally nothing here helping me get there.

Earlier this year I felt like I needed a breadwinner of an idea. Something to cement my bonus. That idea was the automation of one of our accessorial billing line items, which I estimated could have brought in around $600k per year. I caught the ear of the guy who could have set that project in motion and then... nothing. I don't know what happened. If there was fear or trepidation in pulling a (slightly) bold move. But for whatever reason, the project never got initiated.

With that out the window, I was given the task of integrating systems with our partners over at R (names changed to protect the guilty). Since they suck at thier jobs and life, I knew this probably wasn't going to actually happen anytime soon, but I needed something to make the project pop. So I thought I would build out our entire portal as a B2B Hypermedia REST API. That is pretty much done and it is just sitting there waiting to move forward, and what's worse, I don't think anyone even cares. No one. I haven't advertised it yet, because nobody even seems to care that I'm literally doing nothing.

Today, I got my mind really hooked on this problem of predictive analysis. Since I'm in a Probability Models class, I successfully modeled one of our processes as a Poisson Process. I know that Asshat is already working ("working") on this with our Data Science team, but they're going to take supposedly months to get some proprietary 3rd party system up to do forecasting, and I know that I can have a crude but fairly effective model up in a week or less. So I took it to the big boss. But my pitch must have been off, because he just kinda said, "Cool!" and dismissed it like it was a neat little chart. FUCK. What do I have to do around here to get some important, thoughtful work?! Who's dick do I have to suck?!

So here we are, on the brink of the 4th quarter and I have nothing to show for this year. Unbelievable.

I literally don't even need to come in. I could have stayed home for 90% of this year. That's how far I've advanced my career in 2015.

My influence here is fading too. Our new architect doesn't clue me in on anything he's doing (but has made good friends with the other developers), my boss was let go, so now power-hungry Asshat has all the cool projects, my new boss doesn't really have a nose for strategic development, since his specialty is in improving and maintaining legacy systems, nor does he know how to do battle with Asshat. And as a symptom of all this, I'm starting to care less. Fuck it. If nobody is going to give me work or let me run with projects I think would be cool, I'll just do nothing. I'll do homework. I'll leave at 2:30. I'll learn things I want to learn, like R and Python.

I'm so frustrated. And I can't leave, because of my debt situation. Fuck this. I'm going for a run. Then I'll come back, but all I'm going to do is read my 100 pages of Markov Chains of class.
AAHHHGGHhhhghghghh!!!!!

User Journal

Journal Journal: Adventures in Data Science

I knocked out a little bit of homework today. I've been doing my assignments in LaTeX (specifically ShareLaTeX), which is yet another skill I can kind of get for free while doing things I need to do. My handwriting is atrocious anyway, so I might as well. Plus, I'm in grad school. I should act like it. I'm going at a rate of about 2-3 hours per problem. It's rough. But I'm making progress.

In my spare time, I've been listening to Partially Derivative, a podcast about data science. I'm starting from episode 1, which is about a year old. They talked about this project, 1 CSV, 30 stories, where a dude takes one massive CSV (3.2 GB) and does some data science on it and tries to get 30 stories out of it. Well, a year later, it looks like he stopped a little bit short at 21, but good effort! I'm going through it and trying to see how he did it, starting with bootstrapping (the data munging part). Already, I'm seeing where the troubles arise.

We've gotta munge this text before we can do anything with it. And as we've all seen, human-entered data is never clean, particularly when dealing with plain text.

So I'm currently playing with that just trying to get to the point he starts at. It seems that Data Tools has changed a bit since his blog, so I'm currently trying to get it to work the way it is now.

I'm also working on a work-related DS project that involves a probability model. I'm not sure if I've got the math chops yet after just 3 weeks back in class, but I'm getting some ideas. I think that's helpful to get a real-world scenario to drive home the theory.

I also started reading Antifragile. Reeeeaaaalllyyyy liking the concept of this book. But anyway, gotta cut this one short. More later this week!

User Journal

Journal Journal: Dear Gournal 2

"Oh, you mean a journal?"
"Yeah, whatever. I guess I'm not all smart like you."
Really though, I'm kinda dumb. Yesterday I rolled my foot while out running. There was car trying to turn right. I was on his passenger side trying to cross the street and would have been directly in his path. And since I could see that he was looking left and had no situational awareness, was going to run me over, so I put the brakes on, only to have my foot find the edge of a sidewalk. I didn't go down, but my foot rotated 90 degrees and I heard a loud pop. That was that. Had to walk a mile home on a bum foot. I guess that doesn't make me dumb, I avoided getting hit by a car. But I wish I had just slowed my roll before getting close to the intersection. I may have also been distracted by some nice yoga pants-clad asses. Man I hope I can get back to running before summer ends.
I got through my first homework in my Probability Models class. That was a bitch. I spent probably around 48 hours of work on 20 problems. 2 of them went answerless. Sheesh. I need to get better at this though. I really want to be a Data Scientist. I mean, there are certainly times when I look at the math and think, Jesus, what am I doing?! I can make a fine living as a software engineer. But then when I hear about some of the awesome problems being tackled by Data Scientists, I fill up with excitement. That's shit I want to do!
The problem is, where do you start?
Obviously you need a solid understanding of math. So I'm starting in the right place by getting my master's and learning foundational mathematics. And the data wrangling/munging/ju jitsu. I think I'm pretty good there. I have a solid Linux background and am excellent at processing text. But then there are the technologies. They are a huge part of it and I know none of it. This is where I need to focus in my spare time. This is where I'm struggling with how to proceed. Do I do a brief overview of each technology, or do I deep dive one by one? Are there some I can skip?
This is my list of techologies to learn/understand:
* memcached
* MapReduce
* Apache Hadoop
* Apache CouchDB
* Google BigTable (proprietary)
* HBase
* MongoDB
* Amazon Dynamo (proprietary)
* Pig
* HIVE
* Apache Cassandra
* Voldemort
* Basho Riak
* Aerospike
* Google Dremel
* Google MegaStore
* Google BigQuery
* Google Tenzing
* Redis
* Apache Spark
* Apache Spark SQL
* Apache Giraph
* Spanner
* Apache Accumulo
* Impala
* Apache BigTop
Ugghhhh, that's not even scratching the surface. There's a whole section on Big Data and another on Databases at Apache. Sheesh. Where do I even start? I guess that's my initial struggle. Do I do an overview of each one, then deep dive, or do I just start deep diving from memcached on. Or do I just figure these out as I need them? Right now I'm playing with Pig. I exported a bunch of data and I'm trying to work with it. It's slow going due to the lack of documentation (at least from what I've found so far).
I just want so badly to get going on this stuff. To make it work for me and show my company that I'm a step ahead of everyone else. Well, anyway. I'll get there. Just gonna take some time and effort.

User Journal

Journal Journal: Systweak Scareware and Probability Models

One of my friends called me at work the other day and said, "So you know when you get a virus and you get this blue screen and it just says to call this number..." I was like, "No. No, that is never a thing."

*sigh*

Sometimes I forget that not all people know basic computer skills such as don't call numbers and get scammed out of hundreds of dollars. Thankfully, they hung up the phone and unplugged the computer just as things were getting hairy (they said the mouse was moving and the "tech support" guy was doing it).

So they brought it over and I took a look-see. It was surprisingly not terrible. It just had a bunch of shit from Systweak, a bullshit Scareware app that flags cookies as "threats." I removed McAffee since it had expired. Never fails, whenever I clean a friend's PC, it's got some old remnant antivirus that stopped working because they didn't buy the license. Just remove that shit, people. There's free shit that works just as well. So I installed Avast! and Malwarebytes, ran scans, and didn't come up with anything. Systweak was the only piece of shit contaminating the whole thing. The rest looked virtually untouched after a year of use. Good work! Let's keep it that way, mmmkay?

Side note: Windows 8 really is a piece of garbage. Fuck is that painful to navigate or do anything - literally anything.

I'm two weeks down on my Probability Models class. First 2 weeks of grad school in the books! Holy shit this is one of the hardest classes I've ever taken too. Way to ease back into things. The thing is, at the time I decided to go to grad school, this was about all I could take that I had the prereqs for. I don't remember shit from college. I mean, things are coming back, but I feel like Wolverine being fused to the adamantium skeleton. I'm going to be stronger after, but it's going to hurt like hell during.

I was kind of excited for this one because it seems pretty applicable to business, but so far, we've hit prob & stats I heavily, real analysis, calculus I & II, various theorems and inequalities not in the book, and the German Tank Problem. Uhhh, we're two weeks in. I'm still catching up on my prob & stats I and calculus. It's been anywhere between 5 and 10 years since I had some of these classes.

Don't get me wrong, I'm actually enjoying it. I spend just about all my spare time studying/doing homework, but I am not at all resentful. I think I'm just happy to have a higher calling. Something challenging. Something that I can think about, with all the bullshit of work, and remember that there is more to my future than the day-to-day. So I'm going to do this. I will learn Jensen's Inequality, Fubini's Theorem, as many random variable distributions as I can, fundamentals of prob & stats, calculus, Markov Chains, Queuing Theory... whatever else my professor throws at me. For I AM THE INFERNO. I AM LEGION. Little quote from Lamb of God's latest, which I've been jamming almost every day. Though as soon as it's released, I'll be pumping Mgla's new shit, Exercises In Futility. I mean, my God. No words. And such a great title for how I often view my personal and professional life.

Anyway, I need to sleep. Early-ish wakeup tomorrow. Got a clean laptop to deliver bright and early.

User Journal

Journal Journal: Back to School, Back to School, Prove to Daddy That I'm No Fool

Last night I came in to work to help with an oracle table space migration. The benefit being that we would get ~100 GB freed up. The DBA said it would be about a 20 minute outage while he rebuilt the indexes. Well, 20 minutes turned into 2 hours, because he neglected to think of the load on the production database. So I ended up having to shut down one of our heavier hitting apps and that fixed the problem. Still, I'm sleepy because instead of coming in, doing nothing, sending out an email, and then grabbing a cocktail, I came in, watched it not work, conferenced people in, made a decision that I hoped wouldn't fuck anything up, and left with enough time to slam a shot and a beer. Ugh, nothing ever runs smoothly.

Except my deploys when no one else is involved. That almost always goes smoothly. It's relying on other people that makes things difficult.

Today I start grad school. I've been getting amped about this Data Science thing. I remember waaayyyy back to when I was a C Programming student, and I applied to teach the C++ companion class. During my interview, the instructor asked me, "Do you prefer to work with People, Programs, or Data?" Assuring me there was no right or wrong answer (though in hindsight, "People" was probably the better choice of the three), I said Data. I was being honest, and I kind of said it without thinking. Coming back around now and thinking about it, yes. Yes, I do prefer to work with data. I want to munge it, wrangle it, ju jitsu it, analyze it, model it, and present it. I haven't been this excited about something since I started my Bayesian text classification project, which, come to think of it, was really a data science project. My calling has been sitting in front of me this whole time.

But I'm glad I went this route. I've become a good developer, which I think is paramount to being a good data scientist. I suspect that a lot of data scientists are not proficient in software development, primarily because it isn't the central focus of the field. But I think that will bring a lot to the table.

Looking at the data science curriculum, I'm a little concerned that it doesn't really bring in any of the major data science tools - R, MapReduce/Hadoop, NoSQL, etc. It seems like it's going to be a purely mathematical ride and I'll be left to my own devices for the tools. Which is... I mean, it's fine, the math is the hard part anyway, but I'd like a little instruction on some of these tools. I've been taking Coursera courses to try and get an high level understanding of all these tools. I just hope I get a little practical knowledge thrown in with all the theoreticals and foundation.

R is looking like a really cool fucking language. So far from the little bit I've played with it, it looks like it will cook you breakfast while giving you a beej. I absolutely love read.csv and read.table. Makes working with data so much easier than, say, Java or ColdFusion.

Well, anyway. I'm rambling at this point. But I am excited. Let the games begin!

User Journal

Journal Journal: Every Time I EDI

As I mentioned before, I'm working on a RMM Level 3 RESTful service for our partners to use for B2B transactions. It is made up of resources and actions on those resources. But that's for the future. Right now, I'm stuck dealing with the less than stellar "Company R" as I will call them. They're primarily an EDI shop, like most of the partners I deal with. But they've been instructed to use web services. To them, that means "EDI over the Web."

So as a compromise, I've build a couple of additional services that handle the two specific types of EDIs that we need. I take the EDI in its raw form as the body of an HTTP POST request. Then I parse it using the wonderful GPL'd EDIReader.

Unfortunately, there's no Maven version for this, and it's hosted on the archaic Sourceforge. Ahh, old and decrepit, just like EDI. I have no idea if BerryWorks is maintaining this, or what, so I pulled the code into a new shared component that I'm calling edi common. EDIReader uses SAX to parse an EDI into XML format. So once I do that, I use JiBX (hello darkness, my old friend) to unmarshal the XML EDI into a Java object. I call this my BaseEDI. Since I know what kind of EDI I have, I can then get more specific, and write helper methods to get exactly what I need from a particular element on a particular segment.

All of this is very ugly, but I'd like to think that I've done it in the best way I could think of. And it works phenomenally. I just put it into test this week and I'm writing a testing tool to help with the creation of EDIs.

I have no idea when this thing will go live, but it'll be ready for whenever Company R decides to get with the program.

They have not been so good at even traditional EDI, so migrating to the web is only going to have the added benefit of getting them real-time error messages. I have surrounded my code in so many error catches with specific error messages to really hone in on where problems may lie. It's not even a bit fun to read through, but I know if they start failing, I'll be able to point to the exact reason and tell them immediately. And as in the past, it will not likely be my code that causes the problems, but theirs. I had so much fun during our first Go Live looking at errors and saying, "it's on your side." heh. There's a certain satisfying smugness in that.

Anyway, this week we also learned of impending layoffs at the company. Fuck. No good will come of this. I hope I've done enough to cement my necessity to the company. But slightly more likely is seeing my manager go, or anyone else I've enjoyed working with. That has the ability to fuck all kinds of shit up. If I end up working for Ass Hat, I'm going to lose my shit. I guess I will keep my fingers crossed until then. But I will continue to drive on and keep churning out great products that people love in the meantime.

Slashdot Top Deals

On the eighth day, God created FORTRAN.

Working...