Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


My friend Jamie getting an unjust prison term

Posted by Subsentient on Wednesday March 11 2015, @05:48AM (#1069)
10 Comments
/dev/random

I have a friend named Jamie. She's in her 40s, and she might go to prison for four years on the 23rd of this month.
She had a DUI from 2012, which she was guilty of, and one from 2014, which she was not. Because of her prior conviction, she's getting a much harder time by the courts. She's been offered the choice of signing for four years of prison, or taking it to trial and possibly getting 10 years if found guilty. She's a mother with two sweet, young little girls. She won't get to see them for four years. They're going to end up with her mother in Idaho.

She let a friend drive her truck, who was sober, but because she was next to the truck drinking shortly after it parked, she was hit with another DUI when the cops pulled up over a domestic disturbance, which is common here. Her friend already told that she was not the one behind the wheel, but it doesn't seem to make much difference.

Here's where it bothers me. She is innocent, and she's being given the choice of admitting to a crime she didn't commit and getting four years, or fighting it, possibly losing, and getting ten years.

This is disgusting to me.

I'm writing this, I suppose, to ask for advice. How can I help her?

Time is of the essence.

What's coming in the next /code update ...

Posted by NCommander on Saturday February 21 2015, @09:36PM (#1032)
2 Comments
Soylent

I'm just going to leave this here ...

Server: Apache/2.2.29 (Unix) DAV/2 mod_apreq2-20090110/2.8.0 mod_perl/2.0.8 Perl/v5.20.1
X-Powered-By: slashcode 15.01
X-Fry: I'm never gonna get used to the thirty-first century. Caffeinated bacon?

and just say I'm a certifiable madman.

My new distro: Night Linux

Posted by Subsentient on Monday February 16 2015, @11:10PM (#1021)
6 Comments
Code

I've started work (and nearing completion) on a new Linux distro for i586 and up with 64MB of RAM. It's called Night Linux. The origin of the name is a topic for another day.

Night Linux is a small, ~20MB CLI only distro intended for system rescue/utility purposes.
It's the kind of thing you make bootable on your MP3 player to keep with you in a pinch.

Among its features are: Epoch Init System, elinks browser, ircii IRC client, support for mounting and creating/repairing EXT2/3/4, BTRFS, NTFS, and FAT12/16/32 filesystems, ms-sys to repair Windows boot records, GNU parted, syslinux/extlinux along with MBRs in /usr/lib/syslinux for bootloaders, Bricktick brick breaker game, busybox userland, bash 4.3.x, nano editor, OpenSSH, squashfs tools, and more.

Night Linux is based on bleeding edge code with a 3.19 kernel and glibc 2.21.
I haven't published source yet, (waiting to create a project page) but if you want it, I'll provide it upon request.

Get the first alpha here: https://www.dropbox.com/s/9h3wa5ylczjrrt7/NightLinux-Alpha1.i586.iso?dl=1

Feedback welcome.

mini-slashcode-wannabe project

Posted by crutchy on Monday February 16 2015, @09:37PM (#1020)
0 Comments
Code

been mucking around with a little website thing intended to be sort of similar to SoylentNews/Pipedot/etc

it's written in php and is intended to be very simple

site (not yet fully functional) is here: http://news.my.to/

sample story with a bunch of nested test comments here: http://news.my.to/story/1

code for site is here: https://github.com/crutchy-/exec-irc-bot/tree/master/website/news.my.to

so far it has basic rewrite rules, templating for html, uses pdo, no classes (procedural only)

code is unlicensed (https://github.com/crutchy-/exec-irc-bot/blob/master/unlicense.txt)

SubStrings and aqu4bot's improvements from it

Posted by Subsentient on Sunday February 08 2015, @11:55AM (#996)
0 Comments
Code

As of late I've spent some time making improvements to my tiny C string library called SubStrings. There are other string solutions, but those either involve a language such as C++, or they try and create a new string type with a struct or something. In many of my programs, there is a huge amount of text processing. One might say more than you should generally attempt in C. It's not a big problem for me actually. It's becoming even less of a problem since I made my pet projects use SubStrings. As I said, I've recently updated it, but I've added a ton of new functions and features. I've updated aqu4bot to make use of these improvements where available.

Take this example of trying to iterate through lines of text stored in a string in memory
This was extracted from aqu4bot BEFORE I updated to use the new SubStrings functions.
It iterates through each line and forwards them to an IRC user.

Worker = InBuf;
do
{
    while (*Worker == '\r' || *Worker == '\n') ++Worker;

    if (*Worker == '\0') break;

    for (TInc = 0; Worker[TInc] != '\n' && Worker[TInc] != '\r' && Worker[TInc] != '\0' && TInc < sizeof LineBuf - 1; ++TInc)
    {
        LineBuf[TInc] = Worker[TInc];
    }
    LineBuf[TInc] = '\0';

    IRC_Message(SendTo, LineBuf);
} while ((Worker = strpbrk(Worker, "\r\n")));

Hideous, yes?

Thanks to SubStrings, I can shorten it to this:

Worker = InBuf;

while (SubStrings.Line.GetLine(LineBuf, sizeof LineBuf, (const char**)&Worker))
{
    IRC_Message(SendTo, LineBuf);
}

I'll be sifting through aqu4bot's code and updating other components that rely on deranged gerbil magic to get strings to work properly. I'll also be working on SubStrings more.

So far, SubStrings is:
* C89/ANSI with no extensions/platform specific stuff
* Doesn't use ANY library functions, meaning you could build it into your bootloader to make text processing easier.
* Uses a pseudo-OOP function pointer based system for getting functions.
* Is small enough to painlessly be embedded in larger source trees.
* Is public domain (unlicense) software, making it pretty much license neutral.

This should encourage me to add new features to aqu4bot, including making good on my threat of using libcurl to build in email support. Why? Because fuck you.

pastebin

Posted by crutchy on Sunday January 25 2015, @12:37PM (#972)
0 Comments
Code

had a go at making a simple pastebin. nothing fancy (no context highlighting, line numbers, etc)

http://paste.my.to/

similarish workings to the url shortener

url shortener

Posted by crutchy on Sunday January 25 2015, @03:08AM (#970)
2 Comments
Code

had a go at making a url shortener. very basic but seems to work

http://o.my.to/

you can also use it from soylent irc with the command "~shorten %url%" (must be identified with nickserv)

Epoch Init System 1.2.1 released.

Posted by Subsentient on Sunday January 04 2015, @06:19AM (#930)
0 Comments
Code

So I released the first update release for 1.2 series. It's a very small update, it fixes a bug that pissed me off and it adds support for something I wanted to get into 1.2.0.

The bug: There was a problem caused by dunce syndrome where the time for shutdown commands had extra or too few zeroes, caused by a tired coding problem.

The feature: Now the 'epoch status', 'epoch start', 'epoch restart', 'epoch stop', and 'epoch reload' commands can have multiple service names specified at once. That means instead of 'epoch restart aqu4bot;epoch restart aqu4bot_soy', now I can just do 'epoch restart aqu4bot aqu4bot_soy'. Saves a bit of typing if you have a big list of services you want to apply the same action to. The method I used to implement this for 'epoch status' is hideous and is ironic considering the goals of 1.2 Peroxide, but it works and it's not buggy or anything.

Those are literally the only changes in this release.
The 1.x.1 releases tend to be little bitty bugfixes and stuff.

Epoch Init System homepage
Download Epoch 1.2.1 (tar.gz)

Epoch Init System 1.2.0 released.

Posted by Subsentient on Tuesday December 23 2014, @07:24AM (#905)
1 Comment
Code

So, I've pushed out the final version of the Epoch Init System 1.2.0 "Peroxide". It's mostly a bugfix release and cleans up most of the nasty code in Epoch. Here's the tarball: http://universe2.us/epoch_1.2.0.tar.gz

I probably could have done more to it, but I wanted to just finish and get the release out so I could roll an update for my personal distro with the new version of Epoch in it. Nonetheless, this release should be pretty stable and is a recommended update. It is safe to update 1.0 and 1.1 releases to 1.2.0 without rebooting. Replace the 'epoch' binary with the new version and then run 'epoch reexec'. Check /var/log/system.log and it should tell you that you've been updated to 1.2.0. NOTE: if you do NOT run 'epoch reexec' after replacing the binary, your root filesystem will not be able to be remounted read-only on system shutdown and that could lead to data loss.
There is no good reason I can think of that you would not want to run 'epoch reexec'.

Here is a list of changes:

Changes since 1.1.1:

* Cleaned up a huge amount of code that was just fugly as hell. This is the big change.
* Removed unsigned long abuse caused by my (at the time) severe OCD.
* New service status output format. Looks cleaner.
* Extremely deprecated AlignStatusReports attribute completely removed. I doubt even one person will be affected by this.
* Add three new attributes: StartingStatusFormat, FinishedStatusFormat, and
StatusNames to manually specify an alternate service status output format.

* Specific bugfixes:
        * Don't set a config problem check to WARNING after we already found a FAILURE.
        * Fix overwriting service messages, caused by our old status format.
        * Fix inaccurate reporting of scheduled shutdown times, now report seconds too.

IRCiv development

Posted by crutchy on Monday December 22 2014, @10:49AM (#901)
2 Comments
Code

Got IRCiv back to a working state after reworking authentication to make use of new features now built into exec. Also makes use of included alias definition, init and startup directives.

New features include map image cropping (no more huge black areas), a crop_map flag, use of notice instead of pm for private status messages, queuing of messages triggered by actions of other players, use of bot IRC message handling pause/unpause for robustness against command flooding (mainly to prevent corruption of memory shared by scripts running in parallel), a game-list command, and ability to load and save all game data to files.

Join the #civ channel in soylent IRC. Must be identified with NickServ to play. Type "~civ init" to initialize your player.
Note that IRCiv is not fully playable yet and is very much a work in progress in early stages of development.

Sample test gameplay:

<civ_test_player> ~civ u
<crutchy> ~civ d
<exec> #civ crutchy => player "civ_test_player" moved a unit within your field of vision
<exec> #civ crutchy => successfully moved settler down from (66,39) to (66,40)
<exec> #civ crutchy => you moved a unit within the field of vision of player "civ_test_player"
<exec> #civ crutchy => http://irciv.us.to/?pid=3
<exec> #civ crutchy => 1/2, warrior, +100, (76,26)
<crutchy> ~civ ?
<exec> QUICK START GUIDE
<exec> unit movement: (left|l),(right|r),(up|u),(down|d)
<exec> settler actions: (build|b)
<exec> player functions: (help|?),status,init,flag/unflag,set/unset
<exec> flags: public_status,grid,coords,city_names,crop_map
<exec> http://sylnt.us/irciv
<crutchy> ~civ unflag public_status
<exec> flag "public_status" unset for player "crutchy"
<crutchy> ~civ d
-exec- #civ crutchy => successfully moved warrior down from (76,26) to (76,27)
-exec- #civ crutchy => http://irciv.us.to/?pid=3
-exec- #civ crutchy => 0/2, settler, +100, (66,40)
<crutchy> ~civ d
-exec- #civ crutchy => successfully moved settler down from (66,40) to (66,41)
-exec- #civ crutchy => you moved a unit within the field of vision of player "civ_test_player"
-exec- #civ crutchy => http://irciv.us.to/?pid=3
-exec- #civ crutchy => 1/2, warrior, +100, (76,27)

Example map:
http://irciv.us.to/?pid=2

--
http://sylnt.us/irciv
https://github.com/crutchy-/exec-irc-bot/tree/master/scripts/irciv