We got chickens from Murray McMurray Hatchery on April 14th and 6 weeks later we had a full freezer. This was super worthwhile, we're doing this again next year. I already miss the routine.
Some pictures!
Picked them up from the post office. Giant smile on my face while driving home with a softly peeping box.
A week and a half in it was too cold to get them onto the lawn full time, so we had Chicken Enrichment Time instead. This was their first time touching grass.
Finally got them into the garage. Saw this brooder box design online and the price was definitely right, 2 sheets of plywood and a few cuts with the saw. Easy. They loved this space, they had zoomies, scratched and pecked around, just had a great time.
Their final home. We had a few wet nights, and a few cold nights, but once they were in the chicken tractor, we didn't lose any birds to the elements. Just one to rank stupidity. This thing was probably overkill, definitely too heavy, but I scooted it around the lawn every morning to get them onto fresh grass. A few months later, the grass is happier and healthier with the extra fertilizer. Next year we're doing the first batch of chickens later so they can snack on some mulberries.
And here they are at finish weight. Most of them were over 6 pounds, and all of them (except the silkie) were over 4 pounds processed.
And here they all are, 116lbs of broiler chickens, 8lbs of livers & hearts, 7lbs of feet, 7lbs of gizzard. This was a very fulfilling way to ensure that the creatures I eat are treated right from beginning to end. Next year we're going to do more. We've run through half our stock in just a few months from selling chickens to friends and family. And, they're the best chicken I've ever had in my life.
Uhhh we bought a farm. My wife and I decided we needed to get a little less city-bound, so we got 6 farm-zoned acres that we can raise chickens on. Going to do my best to live the meme of "I'm going to quit this sysadmin job and become a goat farmer."
I'm still alive! I just don't have it in me to post blog updates.
First prototype of the ErgoDOX eXtended works great.
Pardon the keycaps. I've just got one spare set at the moment.
Next up: A proper switch plate. Friends and I got the CNC minimally functional, and I've done some successful tests with 2mm aluminum, so that shouldn't take too long.
I haven't even received the prototype board yet and I've already had that awful thought: "How could I make this better? ...Cooler?"
So, I've made revision 2. It's the same schematic layout as rev1, just arranged differently on the board. I'm familiar enough with kicad at this point to know how to modify footprints and remove pins, so I've got the teensy and the i2c expander sharing a footprint now. I also went ham on the angles:
I also thickened up the traces by 50% just in case, and just in general arranged everything much more cleanly. It's really starting to shape up.
It's been about a month since I first had the idea to rebuild my keyboard and I got bored this weekend, so of course, I scrapped all the work I did before and started from scratch. This time, though, I started with the PCB... because placing components in OpenSCAD was never a good idea. Fun idea, but a bad one.
So I installed KiCad and immediately died a little inside. This thing is massive. There's a lot to it. So I took to YouTube and found a few tutorials. Turns out, banging your head against complex applications for 12 hours isn't that bad. Going through a few tutorials and using the existing ErgoDOX project as a reference, it took about 12 hours total for me to learn enough KiCad to do this:
It's ugly, sure, but I'm a little proud of it. Especially since this is the first pcb I've ever taken a crack at. I mean, look at this render:
I designed the board to be universal, like in the existing project. KiCad didn't play nice with the chips sharing pins and I'm not experienced enough with it to get it to work, so they're going to occupy different parts of the board. They're also going to be in the center of the board instead of on top, since I think that desk space is more valuable than the inch or so on either inside half. I also decided to use a 9-1u-cluster instead of using 2u (enter, backspace) keys. I was thinking I could use those as arrow keys, macro keys, and other stuff. More keys, more power. Plus, with this layout, it came out to a perfect 49 keys - 7 rows, 7 columns. Waste not, etc.
The next question is how in the hell do I prototype this.
10-minutes-later-edit: Answered that question with Elecrow. 5 prototype PCBs ordered for $62 shipped. Let's roll.
It's about time I made another post. A lot has changed... got a new job, relationship is super steady, got a truck, built a 3d printer from scratch, 3d printed a LOT of pikachus, went on 2 vacations that required trips by plane (Seattle is fun, albeit full of homeless people and a guy named Jim who tried to pay for his tab with heroin), and I've finally gotten sick of my Ergodox. Don't get me wrong, it's a great keyboard. I'll never do a non-split keyboard again. But it leaves a bit do be desired. Call it laziness from not wanting to make a profile that works, but I miss the F-keys. This was especially evident when I tried to play Star Citizen on the first. My new Freelancer was pretty well unflyable.
So, what to do? Go back to the tried-and-true chocolate bar keyboard? 60%? 110-key max configuration? Oh, I could just pull out the K70...
Nah. I'll spend waaaaaay too much time designing my own. After a long weekend I'm finally satisfied with the layout. Built a rudimentary thing and some scripts that output DXF files for each layer, including the pcb's layout to import into tracing software.
Keys are just there for making sure it all fits. BUT, I think this is coming along nicely. So. The plan here is to design a pcb, build a prototype by hand using transfer paper (something I've never done before), finalize it, order a small batch, and see who in my friend group/professional network is interested. If interest is high I might make another small batch to sell kits for. No preassembled ones because that takes ages and you should have your own choice of switches and caps, but, it'll be fun to assemble regardless. This keyboard will probably cost me six thousand dollars.
Alright, now that I've gotten a lot of the thinking done, the real fun begins.
Problem: I need a bit of data available to all templates
I decided to add a sidebar that has a list of posts - a standard "Archive" bit with links. So, naturally, I set about modifying all my views to include a helper function that returns data. I went through each of them and had them return the output of a function into the context. And hey, it worked!
But, there's an issue with how this was written. Django encourages a DRY philosophy - Don't Repeat Yourself. And I was repeating myself quite a bit here. Going through each view and doing the same thing is inefficient and can get to be hard to maintain in large codebases. This blog won't ever be all that big, but, I figured I'd try to find a way to make things better. You know, do it right. So I hit Google and found a bunch of possible answers. One, though, seems like the "right" way to do it.
Solution: Context Processors
Context processors in Django work to gather and process data at runtime. From there, you can have them return data and make it available to templates. There appears to be additional functionality to context processors, and I'll have to look into that in the future. But for now, this seems to do exactly what I want.
First, I created a file in my blog module (since this is a blog-related function) called 'context_processors.py'. I created my function, which had to return an ordered dict of years containing a list of post titles and url slugs.
posts = Posts.objects.filter().values('title','posttime','slug').order_by('-posttime')
archive = {}
for post in posts:
try:
year = archive.get(str(post['posttime'].year), [])
year.append(post)
archive[str(post['posttime'].year)]=year
except:
pass
archive = sorted(archive.items())
return {'sidebar': archive}
Quick and easy. It looks like Django's context processing loads this dict into a high level of the templating system, making the variable "sidebar" available to templates.
*(Todo: Add try-catch for getting data, I haven't experimented with what happens when a context processor has an exception yet, and if there are no posts, this won't return anything.)
After that, I had to add it to settings.py:
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ os.path.join(BASE_DIR, 'templates'), ],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'blog.context_processors.sidebar_archive_processor',
],
},
},
]
So that loads sidebar_archive_processor from blog.context_processors. Very straightforward. From here, it's just a simple matter of accessing that data in the template.
Here's the loop I used:
{% for year,posts in sidebar reversed %}
<div class="sidebar-box">
{{ year }}
<div id="sidebar-{{ year }}">
{% for post in posts %}
<a href="{% url 'blog_slug' post.slug %}"><div class="sidebar-link sidebar-button">{{ post.title }}</div></a>
{% endfor %}
</div>
</div>
{% endfor %}
I wanted to have it so that the most recent posts appeared first, so I loop through the sidebar backwards. I've given each sidebar div a unique id so we can eventually hook javascript into it for an accordion-style collapse. Oh, and I could have done a regroup here, but I like to keep code out of the template as much as possible, so I figured it would be best to put that logic in the context processor itself.
And there you have it. Works as intended, feature addition complete. I'll have to look into the other things that context processors can do next. Or, maybe start adding other modules to the site. Right now the Games, Code, and About links just go link to blog_home, so that should probably be updated. Those placeholders should probably have someplace more apt to link to.
Now that wasn't too hard. Imported the old db into the database server, created a script that connects to that database using pymysql, loops through the old posts and returns a data structure. Use some Django model bits to import the data I needed... ah well, might as well just show you:
# blog/oldblog.py
from blog.models import Posts
import datetime
import pymysql, pymysql.cursors
usermap = {
'2': '1',
'3': '2',
}
def runimport():
connection = pymysql.connect(settings)
try:
with connection.cursor() as cursor:
sql = "select ownerid,date,post,title from blog order by date desc"
cursor.execute(sql)
result = cursor.fetchall()
finally:
connection.close()
for record in result:
record['date'] = datetime.datetime.utcfromtimestamp(float(record['date']))
importrecord(record['title'],record['post'],usermap[str(record['ownerid'])],record['date'])
def importrecord(title,content,author,date):
try:
p = Posts(title=title, content=content, author_id=author)
p.save()
p.posttime = date
p.save()
print("Post import successful: {}".format(title))
except:
print("--Error: Could not import post: '{}'".format(title))
Then, from there, it's into the Django shell using the production server settings:
>>> from blog.oldblog import runimport,importrecord
>>> runimport()
Code's a little jank and some of the metadata that was part of the old blog system was lost, but that's okay. I can take the hit. Also, a few records failed to import due to not having titles. No big loss there, they were from when I was first building the old blog from scratch in php. Almost entirely "test post", "test post 2", "asdf" type posts. I had to convert the unix timestamp I was using in the old blog (bad) to a proper datetime for the new one (good); Super straightforward with datetime.
Now, this solution worked because I don't have a large dataset. If the blog was millions of lines of posts, I definitely wouldn't want to return the entire table in a single variable; I'd want to return one record at a time, and move the cursor down the dataset, allowing the script to free up memory as it moved along.
There's also the issue of the static usermap. I did it this way because:
- It was quick and dirty
- I only had 2 users to import posts from
The right way to do it would be to do a nested sql lookup against the 'users' table in the old blog, and map the old user to the new user that way. But I didn't maintain usernames across those databases; Old usernames are our handles, new usernames are our names. We'd need a static map anyway.
Last issue, no meaningful error handling. The old posts that failed to import don't get handled, just ignored with a message. But, for reasons stated above, no big deal for something this quick.
Overall: Success. Quick and dirty works a lot of the time, especially for one-off import scripts like this one. Didn't take long to hammer out all the kinks, like the date change thing you may have noticed. Thing about the Django DateTimeField with auto_now_add=True, is even if you specify the date in the field initially, it'll get set to the current time when the record is added. So you've gotta save it, update the time, and then save it again. I'm not sure if there's a way around that, but this method seems to work.
btw, the new blog system makes posting longer/more technical posts much easier and more fun. So I'll probably be doing a lot more of them in the future.
Peace
Trying out this whole Django thing, and so far I'm really digging it. Modules (called "apps" in django) make adding features without affecting other code pretty straightforward. The database models make just about everything a lot easier and faster to build. Even gunicorn didn't give me any trouble, and I thought it would. Sweet.
So, here we are, a more minimalist approach to Drunkserver. More to come as we update the backend and frontend.
So far as I've seen, Ansible is an incredibly sturdy system with a lot of built-in modules that can already accomplish 99% of what I need to do. The other 1% can be accomplished with a 50-100 line shell script that I can integrate directly into Ansible and provide extra functionality for custom applications... which is absolutely fantastic. System consistency and integrity is just a few lines of BASH, and voila! I can run it against the entire datacenter in one go.
"But G4," you might ask, "Why not use Puppet or Chef?" Why, the answer is simple! Puppet and Chef require a lot more time and effort to set up. A lot of companies need to dedicate an entire team just to configuring these systems. With Ansible, I've gotten an entire datacenter's worth of configuration management finished in just two weeks. I haven't gone it alone, though... I've had a bit of input from one of the Sysadmins and a few people from my team. But seriously... The number of people it takes to get Ansible going effectively can be as low as 1. Especially if you're running a simple Apache stack or simple clustering. If you're clever and learn quickly, you can knock this stuff out by yourself. It really is incredible.
In personal news, I got my new copter all tuned in so that I can do flips. It feels a lot more responsive than my old flight controller (Multiwii (old) vs KK2.0) and I feel like I can do a lot with it. The only things I'm missing now are GPS position hold and return to home... plus a little bit more granular control over flight characteristics. The KK2 doesn't have board-controlled curves, so I have to do that on my transmitter... but that's just a little issue, and I'm not really concerned about it. What really matters is that I can still do lazy rolls through the sky, and have a nice, solid link and responsive feedback. I'll post some videos up on here when it warms up a bit.
In other news, I now have my own draft system for beer. It's been quite a hassle... Midwest Supplies is normally very reliable for me, but this time has been quite a misstep for them. They initially told me they'd have my keg to me last Tuesday at the latest, and then it took a week for them to ship it, and another 3 days to get to me. I was pretty happy when I saw the package at the door, and then I opened the box... and it was a keg short. Kegs are easy to count. They're big. How do you miss one? Normally you'd expect that if you spend over $300 somewhere they'll actually pay attention to the order. But, I suppose not. I'm definitely going to think twice about ordering kegs from them again.
At any rate, though, my beer is turning out better than I expected after the initial taste test. It absorbed a lot of flavor from a previous failed brew (superclove cider), but it seems to be balancing out quite nicely after only a day of conditioning. I'm excited to see how it turns out in a few weeks. But, until then, I'll be doing my next brew on Saturday. Glory to Arstostka!
I'm sitting here with a gin & tonic, pretty buzzed, and charting a course between planets. Funny thing is, I've been drinking since around.... 3-ish, off and on, and I've visited a lot more planets than I have while sober. I don't know if that's skill, or just dumbing my brain down enough that I don't overthink every little thing. In my experience, a little booze increases skill exponentially; A lot of booze, and you end up with Windows ME (XKCD reference).
I'll get exposed to entirely new things that I've never had the opportunity to be exposed to before. Massive enterprise culture, enormous systems and integration, incredible minds that mold and shape the future of the tech industry. This is going to be a fun ride, no matter what happens. I just hope I enjoy it as much as I anticipate.
The things that I'm really afraid of are the changes to the culture and separation from my comrades in arms. I've gotten attached to my current cohorts, and I'd rather be able to diagnose issues with them well into the future. The beer on Fridays is definitely awesome too. It gives us a chance to unwind after a long week of involved tasks. But, I have to take things as they come. Complaining won't get me anywhere.
Hopefully the world stays in a state that I enjoy. If not, I'll probably be looking elsewhere... either by my own choice or by another's. I have a lot of passion to offer, even to a tech giant... Hopefully they see me in the same light as I see myself -- I'm clever, driven, and constantly learning new tricks and intricacies in every system I can get my hands on. Just ask my coworkers... I'm always figuring out new hacks, shortcuts, and ways to keep things as simple as possible while maximizing output. And I have no intent to change that.
Well, anyway. Time to sleep. Peace out.
This isn't optional simply because for security to be unsuspicious, security must be the default. The more sites that have SSL turned on by default (Facebook, Google, etc.) the more costly it is to watch people. If they want to make it easy to search your data, It's our job to make it hard for them to get it.
Help me make a kid's day by making me game. Pitch in guys!
Oh, and keep an eye out for more charity stuff coming up. I want to make this an ongoing thing.
Some tech stuff: The server authenticates using SSL/TLS through Dovecot, and I'm using Postfix as the MTA. Anyone who knows those applications will know they're a huge pain in the ass to learn the first time. After running through 6 tutorials and starting from scratch a bunch, I finally started building my own queries for authentication and used those instead. Still didn't work, so I started meticulously reading the config files and found a single line that broke authentication by clients but not dovecot's internal admin... Talk about frustrating.
But! PROGRESS! Onward to the new forums, and after that's squared away I'll be building out a new Minecraft server.
Stay tuned for more details, but the long and the short of it is that I'm going to do a backend redesign on the site, followed by frontend and new forums. After that, a pure vanilla whitelist server (with website integrated registration, moderation, and approvals). I'm not shooting to make this a hugely accepted project, just something for the peeps that care about us and want us back up.
Feels good to be back guys. I'm excited :3
First one has more consistent audio, but the second one is nothing to be scoffed at.
Smashing.
The post is here: http://forum.drunkserver.com/smf/index.php/topic,308.0.html
Let me know what you guys think!
I have some awesome changes ahead! I'm moving one of my servers to Chicago. Eventually we'll move Drunk's main systems to that server, which will have 100MB down and 100MB up, and by all accounts, should never go down. I should also be able to set up our email systems to mail any domain, since we'll have rdns record (cue technical jargon).
I've been making periodic improvements to the webpage when possible. I have a leaderboard page, and a kill database that you can search. It's pretty awesome. Next up is blog searching, but that should only take a day or so to implement.
After I implement blog searching, I hope to implement the first stage of DrunkLink: Automatic whitelisting of donators on the Private server. That means if you donate more than $5 to Drunk, you automatically get access to the private Survival server. Vanilla, no addons, no bans; It's pretty much chaos there. Of course, that means I have to bring that server back up, and that probably won't happen until I move a server to Chicago. Hopefully I get on that soon.
Anyway, drunken G4 out! Much love guys!
(Excellent==Successful. Money & fame are more difficult to control.)
- Choose a small subset of available technology, learn it intimately, and embrace it. Then evolve that subset.
- Understand the pros and cons of various data structures, both in memory and on disk.
- Understand the pros and cons of various algorithms.
- Understand your domain. Get away from your computer and do what your users do.
- Be ready, willing, & able to deep dive multiple levels at any time. You must know what's going on under the hood. There is a strong correlation between "number of levels of deepness understood" and "programming prowess".
- Use your imagination. Always be asking, "Is there a better way?" Think outside the quadralateral. The best solution may be one that's never been taken.
- Good programmer: I optimize code. Better programmer: I structure data. Best programmer: What's the difference?
- Structure your data properly. Any shortcomings there will cause endless techincal debt in your code.
- Name things properly. Use "Verb-Adjective-Noun" for routines and functions. Variables should be long enough, short enough, and meaningful. If another programmer cannot understand your code, you haven't made it clear enough. In most cases, coding for the next programmer is more important than coding for the environment.
- Decouple analysis from programming. They are not the same thing, require different personal resources, and should be done at different times and places. If you do both at the same time, you do neither well. (I like to conduct analysis without technology at the end of the day and start the next morning programming.)
- Never use early exits. Never deploy the same code twice. Never name a variable a subset of another variable. You may not understand these rules and you may even want to debate them. But once you start doing them, it will force you to properly structure your code. These things are all crutches whose use causes junior programmers to remain junior.
- Learn how to benchmark. Amazing what else you'll learn.
- Learn the difference between a detail (doesn't really make that much difference) and an issue (can end the world). Focus only on issues.
- Engage your user/customer/managers. Help them identify their "what". Their "how" is not nearly as important.
- Write a framework, whether you ever plan to use it or not. You'll learn things you'll never learn any other way.
- Teach others what you know, either in person or in writing. You'll accidently end up teaching yourself, too.
- Always tell your customer/user "yes", even if you're not sure. 90% of the time, you'll find a way to do it. 10% of the time, you'll go back and apologize. Small price to pay for major personal growth.
- Find someone else's code that does amazing things but is unintelligible. Refactor it. Then throw it away and promise yourself to never make the same mistakes they made. (You'll find plenty.)
- Data always > theory or opinions. Learn the data by building stuff.
- At some point, run your own business (service or product). You will learn things about programming that you'll never learn as an employee.
- If you don't love your job, find another one.
Link: http://news.ycombinator.com/item?id=4626201
Drunk Tickets
Only donators or above can access it, though. Sorry, but when we're beta testing software that can post directly to our sql server, we need to be at least a LITTLE bit careful ;)
Edit: If anyone actually sees this, try your best to break the hell out of the page. Report bugs as tickets. Just be like, Yo. Bug. Right here.
Another Edit: In case you're wondering, you can access the tickets page by mousing over the "Account" square in the upper right corner. If it's not there, you don't have access. Simple.
My new job is going well. The people there are pretty awesome, and they're actually giving me TIME to learn things, instead of throwing me into the mix with no instruction and high expectations. This is truly excellent. I'll want to work here for a while, I think, if the hour-ish drive doesn't get to me.
OTHER NEWS. Anime. I like anime. My gf convinced me to watch a Magical Girl (see: Sailor Moon) show. It's called Madoka Magica, and it has seriously grown on me. The plot is good, the characters aren't annoying... It's a fun watch! I recommend it.
Anyway, still getting settled in with things at work, so I'll slowly be getting back into the swing of Minecraft and such. Just give me a bit to get used to how things are going.
Peace out! ^_^
Now, the current situation with the servers is we're doing a bit more testing before we roll out ads and posts on forums and such. We have to fix that little bit of lag and a few issues with anti-cheat plugins before we decide to proceed. We're also still deadlocked on figuring out new mods, so, there's that. I'm setting a deadline of Friday to have those figured out, at least.
Alright, now I'm off to try to look through the clouds and see the meteor shower at a cabin in the woods. I might be killed by an axe murderer, in which case Flame gets my apartment and the servers and my bro gets my new desktop. You guys can all fight over the rest. ^_^
I RESERVE THE RIGHT TO ROLL THE SERVER BACK. Build on 1.3.1 at your own risk. I figured now was a good time to test it out, since the login servers have been flaky.
More updates to come!
Props to Flame for being more on the ball on this than I am, but mankind continues to take great strides forward, and with great tenacity we strive toward the heavens, so that we may satisfy our curiosity. Hence the namesake of our latest endeavor: The Curiosity Mars Rover. We had a safe touchdown, and the rover is.. well.. roving. We've seen some seriously awesome things in our time; The popularization of the Internet, countries being overturned, new technologies like Augmented Reality coming to light... but none compare to the achievement that NASA has accomplished today.
For the first time in history, mankind got to see a live stream of a spacecraft landing on another world. This is our moon landing, folks. This is a defining moment. And it's only a matter of time before we do it again... with people. I, for one, can't wait. Can you?
JUST KIDDING. Survival is live. We're not bringing the server down as long as I can afford it. SO LOG ON NOW AND ENJOY SOME PVP AND BUILDIN.
Not too impressive, you say? Well, not until I tell you I wrote a few scripts to do it all for me. Damn straight I automated a parser and a SQL interface. I'm just cool like that.
Bad news! I fucked some of the new-er posts. So, we have to manually go change the dates and titles (and I can't remember a bunch (see: any) of those). Anyway, I've gotten my fuckery accomplished for the day, so it's time to clock out and go to Flame's house for an emergency hysterectomy.
ANYWAY. Lots of good stuff is on its way. After Minecraft is back up and running I can start making headway on some new paid hosting services. Minecraft servers and the like. Maybe some other goodies too. I'd also like to make it so that donators get a few more perks as well. Not anything like "GOD MODE FOR FIVE YEARS" or something ridiculous like that... Maybe when you donate, you get a survival kit, or you get a few emeralds, or an emergency teleport for free... You know, little things. I might even make it random. All it takes is a little Paypal integration and a PHP script, really.
I babbling. It happens. So, tl;dr: I set my apartment on fire, looks like there will be no Christmas this year.
1. Griefing is now defined as the malicious destruction or damaging of a structure with only the intent to destroy or damage.This means that breaking through walls is now ALLOWED to get a kill or explore, so long as the offending player FIXES the damage.
2. Preventing a player from fixing damage will grant the offending a pardon. Thats only fair. If you feel you must kill them,do so, but know that if theyre trying to fix your structure and you willingly and purposefully keep them from doing so,we will not count it against them.
3. This ruling is to encourage pvp, craftiness, and stealth, not to discourage building. In 1.7 we had some of the mostgorgeous and creative structures weve seen -- including cities, monuments, and devices -- all with the original grief to killrules. Were going back to that.
4. Im sorry about all the drama disallowing grief to kill has caused. I never should have changed the rule in the first place.
Ok, now to address the problem you guys have with PurgeMe. You seem to think he is above the law, and to be frank, I canunderstand that you guys feel that way. Want the truth? Hes been the biggest pain in the ass to try to find something hesactually broken the rules with. He rides that line so finely that its caused a huge hassle for the admins, and weve beenfrantically TRYING to find a legit reason to ban him. Teleports? Fucker stocks up on ender pearls. Xray? Weve found NOTHING.The ONLY thing hes really done so far that might warrant a ban is grief to kill, but, as the rule is being changed as of now,no ban will be given. We dont ban people for being assholes. (Except for Pieman50. But he threatened to hack the server, and was a child.)
The last thing Id like to say is that I apologize for not being around as much. Between classes, work, and social obligations,Im having a hard time finding periods where I can actually log on. Im making an honest effort here, and Im still goingto keep maintaining the server for you guys, even if I cant be online 24-7.
Much love. G4 out.
There is currently a bug in 1.0 that affects connecting to servers. From what Im told you just have to keep refreshing/tryingto connect. Eventually itll go through. Happy destructing!
Oh, and I had to password it because otherwise random people will drop in. But the password is "password" so its easy to remember. Right?
In other news: My girlfriend and I are working on a new thing. We're building a website where you can pay for your own minecraft server. This will be cheaper and better than other services, as we will provide more ram and storage space, plus, room to expand. In the future we'll also add a service where you can pay for your own individual IP address and domain name. Hopefully this service brings in some capital, so I can start building better servers and spring for a business line and static IP's.
It's about damn time, if you ask me.
Technical specs and details, if anyone's interested: two Dell Poweredge 2850's and 1 2650. Each has 2 Intel Xeon processors and at least 2GB ram. Hard drives are arranged in a Raid 5, Raid 1, and Raid 5, accordingly. All have redundant power supplies, turbine fans, ducting, dual Gigabit LAN, hardware RAID controllers, and ECC Registered RAM.
One of the 2950's is being put aside for the time being as we don't have a use for it, but the more powerful one will be used as our primary webserver and as one or two Minecraft servers. The 2650 will be our new lab. We should be able to support 60+ concurrent users on our primary server, plus Mumble, plus the website, plus more stuff.
So, our current schedule for this is to get our servers migrated over to the new hardware this week, then get back to work on the Minecraft servers. Sorry everything's been slow-going, but life has been pretty ridiculous all around.
Edit: I'm also making the status lights function in real time. So far, the Survival light works. During the week, it'll be green, but until we make it live we'll probably have a whitelist. Donators, mods, and contributors will have access from the start, though, to help us with beta testing.
Veterans of Drunkserver will appreciate the familiar layout and style, and we've updated the hell out of it to make it look more professional, more streamlined, and more, shall we say, suave. Hopefully we'll bring it up within the next few days. Until then, enjoy some youtube.
Peace out.
s
Alright, back to coding. *cracks whip*
Edit: I can edit posts now, too. Sweet.
Some stuff: Logins. That's right, you'll have a login to the site. This will make it possible to keep track of your stats and such. Right now, it does nothing for you guys, but admins can make news posts. This particular system gets revamped in the morning, and it'll have some more really cool features.
Project Lazarus is go. We're breathing new life into our little community we've made. Hopefully you guys like what we've been working on recently. ^_^
So, this system pulls stuff from a SQL database. It's fucking rad. I love it. Also, it means we're making progress on the site. We also have working email addresses, so you can use those too. If you want to make an account, I'm pretty sure this is the database we'll be using in the future. Just keep in mind we might force a password reset eventually. OH and make sure you use a valid email address, since our email doesn't have a RDNS record. Can't get one, can't even ask for one. Doesn't work on a dynamic IP. Other stuff does, though, so we have DKIM and SPF set up. Our email is secure and legit! I promise!
Alright, so the site's coming along. All the formatting and stuff you see now? That's old news. Flame's got some cool ideas in mind for making our stuff 100% hardcore. You guys are going to love it.
Hardware! The new system will be set up before long. More (and faster) hard drives, faster processor, more ram... Possibly running more servers on it as well. Cool beans.
Alright, I'm out. Much love, as always!