Sublime Text is an indispensable tool to have in your arsenal of web development goodies. There’s a nearly infinite amount of shortcuts and tricks one can use to improve their workflow.
One of my favorite shortcuts is moving either lines (or entire blocks) of code up or down a page without cutting and pasting all over the place.
Simply select the line (or multiple lines of code) that you want to move, then simply hit
CONTROL + CMD + (Up or Down arrows) on OS X CONTROL + SHIFT + (Up or Down arrows) on Windows
I guarantee if you do this in front of your friends or family, you will look like a wizard.
Is it true? Is the first week finally over? I’ve been having a blast but this is intense! 13 and 14 hour days straight for the last week. I’m going to sleep so hard tomorrow.
Except I probably won’t. My intention was to sleep in a bit today (hey, it’s Saturday!) which means waking up at 6:30 instead of 5:30. Naturally, 5:30 comes around and I’m instantly awake. So much for that idea!
BART is running a limited schedule today due to the holiday, so I was a bit afraid that the first train into the city would arrive later than I liked, so I took the bus in – it’s a good experiment to try since BART will be completely shut down during two days this summer and I’ll need to find some alternate ways to get to class.
Anyway, today was a slightly “easier” day. Maybe it’s because it’s the end of the first week, this is technically our Friday, or that we have a “social night” scheduled (more on that later).
We had a few lectures that consisted of:
- An algorithm of an algorithm: We talked about how to look at ways to approach and solve problems from a software engineering perspective.
-Advanced Data Structures and solutions: This lecture showed how to solve some of the crazy data structure problems we've been working on (involving things like hash tables, trees, binary search trees, and linked lists).
- “Blogging and You”: Hack Reactor highly encourages us to blog about engineering concepts that we learn, interesting problems we've solved or even the tools and apps we use on a day to day basis. They make a point that doing this makes it easier to market ourselves down the road, and prospective employers can learn more about us. I tend to agree, but I think the real question that most of us have is: when will we ever have time to blog???
- jQuery Presentation: This was the final presentation of the day and it was pretty light weight. We looked at the jQuery library and some of the neat things that developers can do with it. We've briefly played with it for some pre-course material, but it sounds like we'll be diving in more next week.
Spaced between those lectures was more time to code and work on our problems. It sounds like a lot of people struggled through this particular sprint. (By the way, I’m not sure if I mentioned it earlier, but a sprint is something that Hack Reactor calls a series of two-day long problem solving sessions and lectures. So, we wrapped up our data structures sprint today. On Monday and Tuesday, we’ll start an algorithms sprint).
It sounds like a huge number of us will be spending tomorrow (our “off” day, hah), hitting the books! I’m definitely going to be one of those people, since my partner and I weren’t able to finish all the problems in this particular sprint. On top of that, we have a brand new self-assessment test coming in on Monday as well, which will focus on the data structures concepts we’ve been covering.
This is actually one thing I’ve found slightly frustrating about Hack Reactor. One of the reasons I joined the bootcamp (and had started considering coding bootcamps in the first place) was because I wanted a more structured approach to learning these skills. Sure, I could have taught myself, but it would have taken ages and I probably would have skipped things that I found too difficult to grasp.
Hack Reactor provides a structured approach to learning these skills in that they have a roadmap that gives you a high level view of where we’re going, but when it comes to any particular detail within that roadmap (e.g., data structures), they basically make you sink or swim. So, my partner and I were forced to try and learn these concepts on the fly. When it finally works out and we get something, it’s a rewarding experience. But when we’re just spinning our wheels in one place, aren’t able to make progress on a single problem, and feel perpetually behind all our other classmates, I think that starts to become a problem.
Speaking of feeling behind and how difficult everything has been:
Toward the end of our lunch break, I wanted to do some extra studying, so I grabbed my laptop and went walking over to the lecture area (since everyone was having lunch in the kitchen, this ends up being one of the few quiet areas people can go to study). While walking that way, I saw a fellow student standing near some of the instructor desks (Hack Reactor is setup with this huge open floor plan).
He looked a bit defeated, so I went over to commiserate and ask him if he was struggling with some of these problems as well. He looked up at me and I could see his eyes were a bit read and watery – like he was trying not to cry. He shook his head and I immediately knew what was happening.
Earlier in the week, during one of our “Welcome to Hack Reactor” lectures, the instructor mentioned that they offer a “mulligan.” If, after the first week of class, you feel that the pace is too fast, you feel that you won’t be able to keep up, or have some other concerns, you can withdraw from the class and get your tuition back (minus the deposit).
That’s what this student was doing.
“It’s just too much. I need more time to focus on these concepts and maybe I can try and come back in a later cohort.”
Oh, man. My heart breaks for him. I know exactly how he is feeling. This stuff is CRAZY. Just absolutely crazy and intense. I don’t think anyone can blame him for wanting to withdraw. I’m sure every one of us have had those thoughts multiple times a day while trying to wrap our heads around these difficult concepts.
Anyway, I wished him luck and told him I could only imagine how difficult the decision was and wished him luck in the future.
After our last lecture wrapped up, it was time for our first SOCIAL NIGHT. This is something that Hack Reactor schedules every Saturday night after classes wrap up, as a way to foster friendships and get to know each other better. Usually, they’ll have us stay at school and watch movies, play games, or do other fun things like that.
For this particular instance, we went up to Fisherman’s Wharf to watch the fireworks show. Around two dozen of us left at around 6:30 and hopped on the bus. We had sat down on some concrete bleachers / seats right on the water at Aquatic Park. Since the fireworks show wasn’t going to start until 9:30PM, a number of students went off to find food (I recommended the nearby In N’ Out, which is where I think everyone went to). I had saved left overs from lunch and ate them before we left, so I wasn’t too hungry. However, a few of us sitting near each other realized we were “thirsty.” I say thirsty, because Hack Reactor has a strict no-drinking-at-school policy, so we weren’t sure what the status was (turns out, since we’re outside of the classroom, it’s fine).
So, I recommended the nearby Buena Vista Cafe, which is a legendary place known for their Irish coffee. (I’m starting to realize that the vast majority of people in our cohort aren’t originally from San Francisco and they came to Hack Reactor from far and wide – this is apparently making me the expert on all things related to San Francisco.)
So, four of us snuck away and I got to introduce some people to their first Irish coffees – which were perfect for a typically cold and foggy San Francisco evening. Anyway, it was a great time and I felt like I really got to connect and chat with some of my fellow students. Everyone comes from so many different backgrounds and walks of life.
After this, we bought a 6-pack and then joined the rest of the class for the fireworks show – which was unsurprisingly obscured by the thick fog. That said, it was still fun.
Once this wrapped up, a different group of us decided to go out – somehow, we ended up at a dance club (you know how much fun I have at those). Fortunately, all of us nerds were able to check our computer bags. We chatted, danced and toasted over the next hour or so. Then it was time to catch the last BART ride home.
Today was another one of those amazingly frustrating days that ended up fairly rewarding once things finally clicked. It started off with lectures. So many lectures. So many many lectures.
I guess we have more lectures this first week than any other week in the program. Part of that is obvious since there’s a lot of new student orientation stuff, there’s new computer science concepts to introduce, etc. But we were in lectures seemingly all day.
A sample of the lectures we had today:
How hash tables work
Test Driven Development
Language Details and Style Guides
Function Binding
Student Outcomes Program
Holy cow. And on top of that, there was an optional after hours lecture on Sublime and keyboard shortcuts from 8pm to 9pm, (which was awesome)!
In the limited time we had to code today, my partner and I were able to work through a few solutions. And then we got stuck with some method not working out when checking a tree for contents. And got stuck. And got stuck.
Like all day! My partner means well, but it takes a few times for them to really grasp concept. They continuously forget how certain methods and functions work and it’s just a really slow process. I guess these are the difficult parts of pair programming that are supposed to make us more skilled and effective communicators!
Anyway, while he was working through the problem and getting some help and explanation from HIR mentors, I was writing my own (RECURSIVE!!) function that would potentially solve the problem. I was still having little luck.
During dinner, I ambushed another classmate and we went through my code line by line. I was outrageously confused why my own implementation for our solution wasn’t working. They quickly noticed I was passing the wrong parameter into my recursive function.
ARE. YOU. SERIOUS.
I changed one line of code and it all worked, all tests passed, etc. I was elated and steaming mad (at myself) after realizing that. I tried to show my partner but they didn’t really understand what I did and wanted to try it a different way. Ah well. The good news is that I did it through recursion! Amazing! I’ve written like 4 recursion functions in the last 3 days.
Then it was time for lectures, more lectures and bonus lectures.
One of the lectures we had was from the Student Outcomes team. These are the people are teach you how to get a job, negotiate offers, and support you in your job search (immediately after Hack Reactor and in subsequent jobs in future years). It’s a really neat up sell and one of the reasons that made me want to attend Hack Reactor.
They showed a graph of graduates from 2014. About half of their grads found jobs within 6 to 8 weeks of leaving the program. That was amazing! Then they showed a graph that denoted the highest offers these graduates received (whether they accepted them or not). There were a number of buckets, but I found a few really interesting:
# of Graduates: Salary Range
51: $80K - $99K
93: $100K - $119K
43: $120K - $139K
6: > $140K
That’s a pretty amazing distribution. The biggest bucket is right around the $100K to $120K range, but a good number of people were in higher ranges. That’s really amazing! (The bucket with lower ranges potentially represents people who moved to other areas with lower salaries, etc).
One thing the lecturer mentioned was that there was no correlation between previous computer science degrees or engineering backgrounds and salaries. 4 of the people in the $140K+ bucket did not have CS degrees, one knew nothing about coding before Hack Reactor, etc. That’s really reassuring!
Anyway, after that lecture ended and the bonus “Sublime shortcuts” lecture ended at 9pm, I again stayed by myself to work on these data structure problems. There are a lot to go over and I want to make sure I rally understand them – it’s such an essential part of being a software engineer! Plus, a number of HIRs and seniors have said that having a solid understanding of these concepts will make the rest of the program much easier
I got some help and advice from an HIR who stayed late and gave me some great pointers on things to consider when writing to a hash table.
Anyway, after working through some problems on my own, I finally packed things up and left the building at 10:15PM. Another late night! I’m racking up the extra hours.
But I am feeling it. My head feels really foggy right now and I’m going to crash the moment I get home.
Last night, Kerry mentioned to me that I’m half way through my first week. I don’t think I even realized that! On one hand, the time has flown by. On the other, it’s all blurring together. Has it been 4 days already? A week? It feels like time has no meaning at this point. I get home late, talk to Kerry for 30 minutes or so, go to bed, wake up and do chores or get a quick run in and leave for class.
I am having fun and learning a lot, and I had a vague sense of how intense this would be, but oh man. This is really intense!
Anyway, Kerry left for Southern California for a few days and took Benson with her. I’m on my own! Sorry, cats! (Just kidding. I’ll take care of them.)
This morning we had a lecture on prototype chains which is picks up on the stuff we were learning last night. Afterward, my current coding partner, Erik, and I continued working on our data structure problems and were having some pretty good success!
Side note about Erik: When he first moved to San Francisco a few weeks ago, he was staying with a friend of his… who lives on the 18th floor of my old apartment building at the Carillon Tower. Crazy!
Around mid morning, we’re happily coding when an HIR came over to me to discuss my self-assessment results. Oh, shit!!! I just knew it was going to be about the recursive problem that I completely missed doing.
She wanted me to work through it and make sure I understood how things worked. It’s a pretty fair concern though, they probably want to make sure that I’m not trying to just coast my way through the program. That’s not good for anyone. So, we coded the problem from scratch. Man, it was rough but we ultimately got the correct result after about 30 minutes. I think I understand what was going on but I’ll need to spend some time studying and rewriting things.
Lunch was pretty uneventful. It was mostly used for Target errands and studying.
Anyway, the rest of the day was full of tons of lectures that left little time for coding. We ended the day with a “sprint reflection” which we’ll do roughly once a week. Basically, we give Hack Reactor feedback on what they could be doing better. It’s kind of an interesting way for them to iterate on student suggestions and make rapid improvements. Apparently, a number of previous cohorts have had suggestions that have resulted in some of the experiences we’re currently having.
After 8pm, the day was officially over, but I wanted to spend some extra time working on recursion problems. Boy, did I ever!
From 8pm to 9pm I took it upon myself to again rewrite the self assessment recursion problem to see if I could understand it. It would have been done in 30 minutes if not for some stupid bug (basically, I forgot to return a number. Duuuuuuuuuh.)
Once I finished, I stood up and high fived everyone around me. I was so ridiculously excited! Another student told me that this is basically like a drug – you go through these addictive highs and the crash, so you need to try to work on more problems. Hah.
Beth, the HIR (hacker in residence) who helped me earlier was sitting nearby and saw my excitement, so she asked if I wanted to work on another recursion problem. What the heck, let’s do it!
Go figure, that resulted in me staying until 10pm to work on it. Oh, man. I think I’m really starting to get it, but I just need more practice! I don’t want to shy away from these opportunities to learn and become better – this is what we’re paying for, right?
Anyway, this is the latest night by far: arrived at 8:30AM and left at 10:10PM. Damn. I’m going to regret this in the morning.
I thought yesterday was a bit frustrating and hard. That was nothing compared to today. Today was excruciatingly difficult! The amazing thing is that it went from shaking my confidence to my core to leaving with a feeling of exhilaration and renewed sense of understanding.
We started off with our first self-assessment. These are basically timed tests that feature a handful of problems you need to solve (in this case, you’re basically writing some helper functions) and test yourself. Once you’re happy and confident in your results, you push it to Github and submit a pull request on the main Hack Reactor repo. A helpful robot runs your code against its own internal test suite and gives you some basic results.
I did bad. Like real bad. There were 35 possible points and I got 18. One of the reasons is that I just didn’t pay attention to how many problems there were. So, I mostly finished 4 of them, thought I had extra time and went back to clean them up.
When the warning bell sounded to let us know we needed to turn in our tests, I loaded up the Readme file and copied all the grading criteria for each problem (which we submit as a comment on our pull request). That’s when I noticed there were 5 problems.
Oh, shit.
I quickly added some “pseudo code”, basically a bunch of comments in the code about what I would do if I actually had time.
Fortunately, it sounds like a lot of others were in the same boat. Man, oh man. Welcome to Hack Reactor.
Our mid morning lecture consisted of coding best practices and then a very basic intro to data structures. We were turned loose to attempt some problems before lunch.
Telling people about food trucks has turned me into a popular guy! There were about 11 people waiting to leave with me at lunch. It was pretty fun and I got to know some of my fellow classmates a bit better.
Afterward, we had more lectures, this time that focused on debugging tools. We were them split into pairs based on our knowledge of 10 questions related to data structures (I only knew 2 of the 10 answers). So my partner and I were relatively new to this whole coding thing.
From the moment we dived in, it was a disaster. Not between us, though! We were just in over our heads trying to solve some of these new problems! We talked ourselves in circles and couldn’t get any of our tests to pass. We kind of just spun out wheels for an hour and a half.
We went to dinner and were just totally demoralized. He went somewhere to focus on some of the solo modules that were assigned to us, while I started looking up resources that could better explain some of the things I was having difficulty with. After an hour or so, I felt like I was understanding things better. It also helped that a Hacker in Residence sat down with me to explain things.
When my partner came back, he seemed refreshed and was ready to dive back into things with both of our newfound knowledge. Things just clicked and it’s like we really started to understand things. It was awesome!
We even took the time to go back and rewrite one of the solutions that was giving us so much trouble. It’s kind of crazy to think about how low we were feeling earlier in the day and how high we ended up.
Today was a little more intense. We basically covered the rest of the pre-course review material. My coding partner, Daniel, and I were able to work through the rest of the problems but I felt like I struggled a bit. He exhibited a lot of patience and understanding while helping me to work through things.
Ultimately, we got through everything and I think I understood it! But it does shake the confidence ever so slightly. That said, we were able to quickly work through rewriting a number of functions that proved difficult during our pre-course. Stuff like _.memoize, .reject, .filter, .every and a few others.
The morning lectures were a town hall format where we asked questions based on certain topics we studied on our own. This featured things like scopes and closures. Overall, I think I am pretty comfortable with the concept though people were asking some crazy questions that made me wonder if I was missing anything. Basically, stuff like memory management and such.
Our instructor said that this was unnecessary complexity that we shouldn’t worry about right now, which is really reassuring. One of his awesome quotes was that pre-optimization is the enemy of progress. Really, we shouldn’t concern ourselves with that at all right now. Marcus said that we should optimize our web apps when there’s an actual problem that needs optimization. I’ll need to keep that in mind.
In the afternoon, we finished up rewriting our underbar functions and then had a lecture on how to succeed at Hack Reactor.
There was a lot of great stuff in the lecture that focused on the personality, technical backgrounds (and lack thereof) that go into the ideal HR student / graduate. Things like:
Fixed vs Growth Mindset
- Some think their value is based on some intrinsic quality. Others think is can change over time.
- Growth mindset: Experience joy at failing at a thing and treat it as a learning process.
- What kinds of people need a growth mindset? Effective learners and effective programmers.
Coding isn't fast
- This is why people deride the idea of improving VIM and emacs skills – so little keystrokes. You should be thinking about the program / problem, not the application you use.
How can I tell how I'm doing?
- Don't gauge yourself with regard to others! Only with the curriculum.
Fixed vs Growth Mindset
This lecture took about 1 and a half hours and ended at 8pm. Marcus (who is a co-founder of Hack Reactor and a CTO) dismissed the class but held an optional fireside chat that around a dozen of us took part it. It was kind of awesome to have this personal one on one time with him.
Everyone asked him tons of questions on best companies to work for, taking equity vs salary, interview questions, how to find out if the culture is right, etc. It was interesting but I was personally more interested in what he had to say about how we could succeed RIGHT NOW and in the next 12 weeks.
So, I asked him what those of us from less technical backgrounds could do to cope with or reduce “imposter syndrome,” that tinge of self doubt the seems to crop up every now and then. At this point about a quarter of the remaining students left. Sorry, dudes!
Anyway, he had some great answers in how we should trust Hack Reactor and trust our peers who are helping us and supporting us. He said that if it’s really an issue, we should ultimately talk to HR staff and make sure everything is staying on track. I kind of felt like some of the other students think that I’m considering quitting. No way! I just want to make sure I’m doing everything I can to be in the right place, mentally and emotionally.
Another student followed up a bit later with a question on how students with lesser tech background could avoid being bogged down in complexity and only focus on what we need to worry about. He brought up the point about students asking about memory management techniques and how that sort of thing is unnecessary, especially when we’re just trying to grasp the basics.
Anyway, that was it. Only 2 questions out of 2 dozen that wanted to know how we should deal with things going on now. Overall though, it was really awesome to have more personal communication with him and have him get to know me as well.
Like last night, we wrapped things up just after 9 PM. Another 13 hour day. Crazy! Tomorrow, we start learning new stuff for the first time! It’s all about data structures for the next 4 days.
What a day! I arrived at Hack Reactor at about 8:20AM to find the 7th floor landing overflowing with new students. There was a lot of excited chatting as we waited for the doors to open so we could take our class photos and get out information packets.
We had brief introductions as everyone went around and shared a fun fact about themselves. Then we dived right into it!
We had lectures that talked about life at Hack Reactor and what to expect over the next 13 weeks and it was full of a lot of stuff like how HR can benefit us over competing career acceleration programs.
They mentioned that some of the goals of Hack Reactor are:
Autonomy: Confidence that you can find a solution
“Some problems are going to suck and are broken on purpose. That’s good for you!”
Make us strong software engineers:
- CS (and software engineering) fundamentals
- Native to web
- JS expertise
How hard is this going to be?
They had a slide that said “Very, very hard.” Then another slide that said “Then think about how hard that is and keep going.” It’s a boot camp!
After the welcome lecture, we started to review the recursion exercise we worked on during our coursework as well as the underbar exercise.
Their strategy is to basically give you a small taste of a topic or idea and then throw you in the deep end of the pool. It’s crazy! This was a lot of folks first experience with pair programming. I feel pretty fortunate to have done this before (thanks to a one-day class at Hack Reactor back in March).
My partner and I clicked really well and we were able to quickly work through rewriting both the recursion and underbar exercises. We were even starting to tackle the extra credit. I’m not saying that to brag, it was just such a great feeling to suddenly understand something and work with someone else who bounced ideas back and forth.
I think that’s going to be one of the biggest things during the program. It’s going to make is more effective communicators and able to know how to solve technical problems. I’m really excited about it!
One thing I noticed is that time REALLY flies. We start working on an assignment, and before I know it, time is up. It’s kind of amazing. I think that’s going to be indicative of how the whole program is going to.
In the evening, we had a mixer with the senior class – these are the people who are starting the second half of the HR program (they are now in week 7). We played a bingo game where we had to match names up with some random and crazy facts that people had previously written about themselves. It was a great way to break the ice.
It seems like there’s a ton of ridiculously friendly, smart, enthusiastic, and positive people in my particular cohort (and enrolled in the program as a whole).
I wrapped up things at around 9:10PM and just hopped on BART to head home. That’s about 13 hours today. Wow. Oh wow!
Say hello to NodeEBot (pronounced as “nodey bot” or even “naughty bot”, if you prefer). It stands for NodeE-books Bot.
It’s a Nodejs package for creating Twitter bots which can write their own tweets and interact with other users (by favoriting, replying, and following). This project draws heavy inspiration from the twitter_ebooks gem for Ruby.
This project requires Nodejs v0.10.35+. If you’re looking for a place to host Nodejs projects, I’ve had success setting up a free Ubuntu virtual server through Amazon’s Web Services dashboard and installing nodejs on it.
To run, copy the project into your preferred directory and then install the required dependencies using:
npm install
You can edit various configuration settings in the bot.js file. Before you can begin you’ll need to have Twitter API credentials which can be setup right here. Once you have your consumer API key and secret as well as your access token and secret, add them to the top of the bot.js file:
// Twitter API configuration
var client = new Twitter({
consumer_key: ‘xxxx’,
consumer_secret: ‘xxxx’,
access_token_key: ‘xxxx’,
access_token_secret: ‘xxxx’
});
You’ll also need to add the Twitter username of your bot (without the @ symbol) to the config file. (This is for tracking mentions as well as making sure the bot ignores actions from itself so it doesn’t get caught in a loop).
// Your robot’s Twitter username (without the @ symbol)
// We use this to search for mentions of the robot and to prevent it from replying to itself
robotName = “xxxx”;
Once that’s done, the bot is almost ready to go. You can modify a few other settings that influence how chatty the bot is, how often it will interact with other users or use random hashtags and emojis.
In order to run the bot, I use the forever npm package. This allows us to automatically restart the server in case of a crash, as well as force restart the server in order to reload the Twitter stream (added in v 0.1.2).
Source material
The one last thing that you’ll need to do is give it some source material to generate text from. I use source material my own Twitter archive.
Right now, I haven’t implemented a way to parse the Twitter’s csv data that’s generated when you request your history. In the meantime, I’ve simply opened up the tweets.csv in a spreadsheet app, copied the contents of the ‘text’ column into a new file and used that as the source material. This script will treat each line as a separate and unique sentence.
I’ve added some basic ability to strip our Twitter usernames and URLs from the archive. That means it will treat something like:
@davely That’s great. I’ve seen something like that before.
http://flickr.com/…
as
That’s great. I’ve seen something like that before.
Running multiple bots
If you want to run multiple bots for different Twitter accounts, copy this project into separate folders (e.g., ~/MyBot1, ~/MyBot2, ~/MyBot3, etc) and make sure you input the proper Twitter API credentials at the top of each bot.js file. Then spool up separate node instances and load up the relevant bot files.
Future things to do.
Better modularization of our script. Right now it’s in one ginormous .js file.
Turn it into a proper npm module.
Better regex handling to clean up source material (e.g., links, usernames, etc
Send direct messages back to users who DM our robot.
Keyword ranking of our source material. (Sort of implemented but disabled right now since performance is SLOW.)
Allow robot to reply with some content (e.g., if someone asks what it thinks about ‘baseball,’ it tries to compose a reply that mentions ‘baseball.’
Retweet various tweets that it finds interesting based on keywords and interests.
Let it potentially upload images or GIFs.
Changelog
v 0.1.4 (2015/05/07)
Simple change to load and require underscore. This is going to help simplify some of my functions in future development.
v 0.1.3 (2015/04/28)
Fixed bug that would cause bot to think that all users replying to it were found in our otherBots array and kept applying a temporary time out on replies, even if not needed.
v 0.1.2 (2015/04/27)
Implemented a hacky fix for an issue I’m having with the Twitter Streaming API randomly dying without an error. If we’re running this with the npm package forever, let’s kill the server and restart if ever few hours.
v 0.1.1 (2015/04/19)
Initial public release!
Other stuff
If you end up using this script in your own Twitter bots, let me know! I’d love to know how it works out for you and please let me know about any improvements or suggestions you might have.
One of my favorite computer games, Out of the Park Baseball, released its latest version just in time for the 2015 baseball season (one of the biggest features this year is the official MLB license — that means real team names and logos!). I’ll have to write up a more in-depth review later, but first I wanted to share this screenshot from a recent game.
The situation: I took over management of the Los Angeles Dodgers in 2015 (sorry, Andrew Friedman, I know you just got this job and all, but it’s time for a new sheriff) and I eventually navigated them to the 2017 World Series!
In game 2, Zack Greinke is pitching for the Dodgers, and LA ends up scoring 7 runs in the first inning! Greinke hits TWO homeruns during the game and on top of all that, Texas still came back and nearly won. Crazy!
(Click screenshot for larger view.)
Anyway, the Dodgers would go on to win the 2017 World Series by sweeping Texas in 4 games. 😉