Details
-
AboutJunior Developer
-
SkillsHTML, CSS, JavaScript
Joined devRant on 9/19/2017
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
-
Built my first little app and put it on my phone 👶 it's not much and comes mainly from a udemy course, but hey it's a step.9
-
A sound recognition system
Being deaf is one major factor that's kept me from moving out. I can't hear sounds like doorbells, fire alarms, etc
I want to build a client-server solution that can be trained to recognize specific sounds [more details]63 -
Github stats:
coworker 1: 3,535k ++ 987k --
coworker 2: 1,563k ++ 735k --
etc.
me: 453k ++ 7,848k --
I guess this confirms my job at the company as "Backend Crap Remover".7 -
Today's project was answering the question: "Can I update tables in a Microsoft Word document programmatically?"
(spoiler: YES)
My coworker got the ball rolling by showing that the docx file is just a zip archive with a bunch of XML in it.
The thing I needed to update were a pair of tables. Not knowing anything about Word's XML schema, I investigated things like:
- what tag is the table declared with?
- is the table paginated within the table?
- where is the cell background color specified?
Fortunately this wasn't too cumbersome.
For the data, CSV was the obvious choice. And I quickly confirmed that I could use OpenCSV easily within gradle.
The Word XML segments were far too verbose to put into constants, so I made a series of templates with tokens to use for replacement.
In creating the templates, I had to analyze the word xml to see what changed between cells (thankfully, very little). This then informed the design of the CSV parsing loops to make sure the dynamic stuff got injected properly.
I got my proof of concept working in less than a day. Have some more polishing to do, but I'm pretty happy with the initial results!6 -
I wonder if I'm getting tired of making websites for people. I just "fired" two longtime clients today without really caring all that much. Not for no reason. They just were asking too much for too little. And I was getting bored of them. When I think about what I want to do in my spare time, the first thing I think about is creative writing. The last thing I think about is code and website design. It didn't used to be this way.3