Atom is a text editor. It can open folders, which is pretty nice for coding, but it can’t do much else.
It’s Atom’s extensions that make it the best code editor. It’s designed by the awesome people at Github to be “hackable to the core”, and that level of flexibility lets you install extensions to host a live-reloading webpage, or use a console, or preview markdown, or see something on Github, and it starts to become an IDE - that you make for yourself. You can create themes with CSS, and hack it with Javascript.
My setup of Atom, editing a Diamond-Lang Ruby File
So it lets you setup it up exactly as you want it, but unlike other IDEs, it doesn’t have built-in build tools, so to compile/run your program, you normally need to install a terminal simulator and memorize the commands. It helps to install Gradle or Rake, which both help you.
They’ve also open source the code they’ve used to make their HTML/CSS/JS/Node into a desktop app into a project called Electron, which you can use to create your own apps.
I use the Material UI theme along with its sister syntax theme, and I changed the background color.
So, all in all, it it’s a pretty cool IDE. You can download it for free (it’s open source) at http://atom.io.
Why I’ve spent a semester of middle school without a backpack. And I’m going to do it next semester, too.
Backpacks are annoying. They (sometimes) cut into your next, they weigh a lot, and they’re a bit annoying to carry around everywhere. Plus, having a bunch of space encourages you to carry more stuff, and it gets heavier and heavier.
So I bought myself a computer sleeve, which included a pocket for papers and cords, and a double sided zipper binder, and set my backpack aside. Turns out, I really only need the computer sleeve, except for a couple of days when I have classes that require more papers.
Paper on the left, laptop on the right.
My pocket of cords and supplies. It’s nice and organized, and has more space then my old backpack did for the same pocket.
I scan my papers when possible, and discard them, so at most I carry around 20 papers at once. It weighs little, and is super easy to carry. I haven’t had any problems with it.
I organize my papers by the date I last used it, and since I only have 20 papers, I can quickly scan through them. Although I don't have tabs, it becomes easier for me to put my stuff in the right place, so I lose less papers. Sadly, teachers who hand back everything at once become your organization system’s enemy, and it becomes harder to keep everything, but I take them home and drop them off into a bin of archived papers.
Since my school doesn’t use papers after the quarter they were assigned, after each quarter, I remove all my papers, and put them in the bin or archived papers.
It’s been super nice, and I’ve gotten all my stuff into something I can easily access.
Writing a blog post is pretty easy. Thinking about what your post is going to be about is a different story. You write all you can think of into a queue, and hope you think of something else to write about within a couple of days. And I’m out of ideas.
Well, I’m out of ideas for the moment, not including this one. I’m currently writing about ideas, and maybe one will come. But it seems as if I’m writing a bunch of meta posts about blogging, but none the less, I guess this is a post.
So enjoy your post for today, and hope that there’s one tomorrow. And I hope I don’t forget about it.
YAY! I made a new avatar! I found some site that lets you create an avatar, downloaded the result, feed it through some image to svg creator (it worked really well), put that through Sketch, created 5 different sizes and uploaded it to Gravatar and change all my accounts and...
Oh god. I did that much work for a new avatar? I wish it was a lot simpler to make an avatar. Or I picked a good non-minecraft avatar when I first made an account. At least Gravatar did 99% of the work for me. I can’t image what I would have had to do without it.
Actually, I could.
But I don’t want to.
But, I did get some pretty cool things that I’m proud of:
1. I found a project by an employee of Github that allows you to create geo-patterns from text, and put in my username, and then took the image it returned, and overlaid that with text in Sketch.
2. I used Vector Magic to make my avatar a vector (the original software gave it to me in a small resolution, and allowed me to get a somewhat larger copy for $20, but they allowed me to do whatever I wanted with it). It came out with a super clear svgs (I even used the one million degree zoom in Sketch. No pixels!)
3. I spent no money.
4. I uploaded it to Gravatar, and it changed almost everything for me.
Minecraft, you don’t need to use NBT formatted as JSON-like strings that confuse everyone. You can use true and false instead of 1b and whatever other value you use. Or do you use 1 and 0? You really don’t have to do this. You can make developer’s life simple. I want to use JSON like this:
It’s really annoying, especially since in the new Minecraft snapshots, other commands are forcing you to use strict JSON, while others require you use JSON-like nbt. It’s awful, especially since you can’t simply swap out strict JSON for non-strict JSON, you have to cheat it, handwrite the JSON-like stuff (humans were never meant to write JSON easily), or create your own JSON-like generator.
I ran into this while creating a command compactor, and I didn’t want to reinvent JSON, so I scrubbed it at the end with a regex.
But then I couldn’t use strict JSON, so to get around that, I made it so that if you have whitespace at the end of a key, it removes the whitespace and keeps the strict json:
But this is ugly, and probably not the best solution. I really just wanted it to work, since this was getting on my nerves (if anyone has something for to make this work, PLEASE let me know.)
So, I really thought Minecraft should fix this (I thought it was a bug at first), so I filed a report:
Turns out, they said it was intended. Makes no sense, though. I won’t request a feature on the subreddit, as it’s not a popular idea. It only helps developers, really.
I wish Mojang would fix this. Please make up your mind. You can use JSON-like nbt and drive developers insane, or just let use use JSON.
Or I guess a modding api would solve all of this, but I don’t think that’s going to happen. Ever.
In case you haven’t looked at my blog, I’m blogged again! It feels pretty nice to write random thoughts onto a small text textbox and hope some reads it. Someday. No one really reads my blog.
But I’m still writing.
And you’re still reading.
But I changed the blog to tumblr.bensites.com instead of bensites.tumblr.com, and I got exactly where I started. Actually, I need to buy .tumblr so I can have com.bensites.tumblr. Maybe that would make an improvement.
But it feels like design is just incremental improvements. You do something that seems like the smallest difference in the world, but it makes the biggest difference in someone’s life, or maybe it just fades away. Or maybe it seems useless, except for a few things.
But that’s life. No one remembers the guy who make scrolling seem realistic on a Mac and iDevices. No one remembers the guy who added vibration to your phone. No one remembers the guy who decided to cut a round object. But they all have amazing things that change the way we live. But they change the way we live in the smallest of ways.
I made a Minecraft One Command Block Framework in Ruby.
Why?
Because I hate Minecraft commands. I wanted something that made it easier to create a “one command creation”, instead of you c=having to do everything by hand. And I think I did it. It’s called diamond-lang (a precise material in Minecraft). I mean, I didn’t think of emeralds when I named it. Emerald-lang sounds much cooler, but I’m stuck with diamond-lang.
Anyways, I pretty much made it a lot simpler for developers to create one command creations, which should mean we can see more awesome creations.
class Conveyor < DiamondLang::OneCommand
def setup(c)
c.title s(:a), :subtitle, {"text " => "command by Ben from bensites.com"}.to_json
c.title s(:a), :title, {"text " => "Conveyor Belts"}.to_json
end
def tick(c)
black_carpet = b 'carpet', colors(:black)
pistons = (2..5).map {|d| [d, b('piston', d)]}.each do |d, piston|
c.execute s(:e), relative,
:detect, relative, black_carpet,
:execute, s_self, relative,
:detect, coords('~', '~-1', '~'), piston,
:tp, s_self, (d == 2 && "~ ~ ~-.2" ) ||
(d == 3 && "~ ~ ~.2") ||
(d == 4 && "~-.2 ~ ~") ||
(d == 5 && "~.2 ~ ~")
end
end
end
Conveyor.create
which is pretty nice compared to the really long command it creates. Hopefully it helps people. I’ll talk about some of the really annoying things in Minecraft that made this command almost impossible to create in a day or two, but that’s the main idea. I haven’t yet gotten to do things I really want to, due to limitations in Minecraft, but I’m hoping to do them soon.
Anyways, turns out that Minecraft can be a lot ruby with Rubies. Hooray!
If you want to check it out, I made a webpage for it at bensites.com/diamond-lang, or you can do `gem install diamond-lang`
So, if you haven't seen the [homework planner I’m making](planhw.com), I’ve been using a angular.js front-end, and a Ruby on Rails backend. This means I need to sync a bunch of data together, and I used a .
It wasn’t super efficient, and if someone wanted to know about the homework they had, they would have also digest student info, for each, and every, homework. This means if you have 50 homework objects, you got y our info 50 times. This was **really** slow, both in network speeds, and in compiling the JSON, too. I used to use jbuilder, and speeds were ~200-400ms in production. This is *pretty* slow. I was working on a new feature, and jbuilder didn’t support something, so I needed to find a solution.
I tried rails ActiveModel::Serializers, and it worked awesome. The JSON is produced is pretty awesome, and it works pretty well.
This is a weblog. Or a web + blog. And I make websites, so I decided to make a blog. That was my thought process.
That really makes no sense.
Whatever.
I really need to think about thought.
But today, I’m going to talk about my blog :D. It’s gonna be a collection of awesome tech, coding & tech, and stuff I make. Oh yeah, and I’m a 7th grade student, so you’l be seeing some posts about middle school.
So yeah - if you like school, or tech, or coding, or something else, I’m sure you’ll sure my blog.